在不同目录中打开CSV文件 Python
我正在做一个项目,需要导入csv文件。之前这些csv文件都放在同一个工作目录里。现在项目变得越来越大,为了安全和组织上的考虑,我更希望把它们放在一个不同的目录里。
我看了一些其他人问的类似问题,但我不知道怎么把那些方法应用到我的代码上。每次尝试后,我都收到了同样的错误信息,主要是:
IOError: [Errno 2] No such file or directory:
我最开始的尝试大概是这样的:
import csv # Import the csv module
import MySQLdb # Import MySQLdb module
def connect():
login = csv.reader(file('/~/Projects/bmm_private/login_test.txt'))
我多次修改了路径,比如先去掉第一个/,然后去掉~,再加上/,但每次都还是出现错误信息。后来我又尝试了其他人推荐的方法,导入了os模块:
import os
import csv # Import the csv module
import MySQLdb # Import MySQLdb module
def connect():
path = r'F:\Projects\bmm_private\login_test.txt'
f = os.path.normpath(path)
login = csv.reader(file(f))
但我又收到了错误信息。
如果有人能帮我一下,我会非常感激。如果你能在回答中使用真实的路径(~/Projects/bmm_private/login_test.txt),这样我就能更清楚地知道我哪里出错了。
我对python还很陌生,所以没有额外的解释我可能会很难理解。提前谢谢你们!
相关文章:
- 暂无相关问题
1 个回答
8
波浪号(~)表示这是用户的主文件夹,比如在我的Windows系统上是C:\Users\<用户名>
,在我的Mac上是/Users/<用户名>
。如果你想要展开这个用户路径,可以使用os.path.expanduser
这个方法:
full_path = os.path.expanduser('~/Projects/bmm_private/login_test.txt')
# Now you can open it
另一种方法是根据你当前脚本的位置来查找文件。比如,如果你的脚本在~/Projects/my_scripts
这个文件夹里,那么:
script_dir = os.path.dirname(__file__) # Script directory
full_path = os.path.join(script_dir, '../bmm_private/login_test.txt')
# Now use full_path