我有一个非常简单的问题,但我不明白为什么它不起作用。
我想像这样将路径设置为char operator "" _ch(unsigned long num)
{
return static_cast<char>(num);
}
//...
auto ch = 97_ch;
:
.json file
但是我遇到了这个问题:
with open(settings.BASE_DIR + '../../package.json') as package_json_file:
如何定义FileNotFoundError: [Errno 2] No such file or directory: '/home/val/Bureau/Projets/APP/app/src../../package.json'
的路径并返回.json文件?
答案 0 :(得分:3)
您可以在错误消息中看到问题:src../../package.json
-src..
中缺少正斜杠。
使用os.path.join
代替串联字符串,这样您就不必担心丢失/重复正斜杠。
import os
os.path.join(settings.BASE_DIR, '../../package.json')
答案 1 :(得分:2)
首先,代码中的问题应该很明显:BASE_DIR
与要添加的硬编码路径之间缺少反斜杠。这个
with open(settings.BASE_DIR + '/../../package.json') as package_json_file:
应该可以工作(当然如果有包装的话)。
但是,为避免此类不一致,最好显式使用os.path.join
正确创建路径,即可以使用
with open(os.path.join(settings.BASE_DIR, '..', '..', 'package.json')) as package_json_file:
有关加入的更多信息:https://docs.python.org/3/library/os.path.html#os.path.join