python中的文件路径

2024-09-29 04:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试加载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 我哪里做错了?


Tags: or文件nojsondata错误withopen
3条回答

我更喜欢从文件目录开始指向路径

import 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

我将使用os.path.join方法来形成从当前目录开始的完整路径。

类似于:

json_filepath = os.path.join('.', 'folder1', 'sub1', 'sub2', 'sub3', 'file.json')

与往常一样,初始斜杠表示路径从根开始。省略初始斜杠以指示它是一个相对路径。

相关问题 更多 >