我正在尝试加载json文件,但它给出了一个错误No such file or directory:
with open ('folder1/sub1/sub2/sub2/sub3/file.json') as f:
data = json.load(f)
print data
上述文件main.py保留在folder1
之外。所有这些都保存在项目文件夹下。
所以,目录结构是Project / folder1 / sub1 / sub2 / sub2 / sub3 / file.json 我哪里错了?
答案 0 :(得分:9)
我更喜欢从文件目录
开始指向pathesimport os
script_dir = os.path.dirname(__file__)
file_path = os.path.join(script_dir, 'relative/path/to/file.json')
with open(file_path, 'r') as fi:
pass
这允许不关心工作目录的更改。而且这允许使用它的完整路径从任何目录运行脚本。
python script/inner/script.py
或
python script.py
答案 1 :(得分:1)
我会使用os.path.join
方法从当前目录开始形成完整路径。
类似的东西:
json_filepath = os.path.join('.', 'folder1', 'sub1', 'sub2', 'sub3', 'file.json')
答案 2 :(得分:0)
与往常一样,初始斜杠表示路径从根开始。省略初始斜杠以指示它是相对路径。