json - 如何从另一个目录打开 JSON 文件
问题描述
我正在尝试打开位于另一个目录中的 JSON 文件,并收到错误:
FileNotFoundError: [Errno 2] 没有这样的文件或目录:
我了解,如果我提供相对路径,则文件必须位于同一目录中,否则必须提供完整(根)路径。
我的问题是如何避免它,因为目前我在本地测试它,但代码正在被其他人使用,所以显然路径不能来自我的根。
知道如何解决它吗?
这是代码:
with open("example.json") as commands:
commands = json.load(commands)
解决方案
您可以指定相对于当前位置的路径。
例如,您在文件夹中baz
,而 json 文件在文件夹中foo
my
├── bar
│ └── baz <--- you're here
└── foo
└── example.json <--- the file is here
您可以使用以下命令访问 json 文件
with open("../../foo/example.json") as commands:
commands = json.load(commands)
..
文件夹的父级在哪里。../../foo/example.json
两个父文件也是如此( baz
-> bar
-> my
),然后进入文件夹foo
,最后到 json 文件example.json
。
/
最后请注意,如果您使用的是 Windows,您可能需要将路径中的正斜杠 () 替换为反斜杠 ( \
)。
推荐阅读
- css - 如何用 CSS 实现弯曲的阴影效果?
- mysql - 有没有办法向 group_concat 列添加递增索引?
- rest-assured - REST Assured 中的测试覆盖率
- python - 在 C++ 中嵌入 python:python 脚本无法识别
- java - webdriver.chrome.driver 的确切含义是什么,这个系统属性在哪里?
- html - 模糊过滤器移动定位的孩子
- java - 'before ApplicationContext' 阶段没有应用程序事件被触发
- c# - 我们如何在 Ionic App 中实现 SignalR?
- android - 使用自定义滚动视图时单元测试失败
- java-8 - jdbcTemplate.queryForList() 方法中未识别命名参数