[英]Errno 2 No such file or directory error while importing a python script from a sub-folder
我有一个 python 脚本(db.py),它有一个类(Chat),它指的是保存在同一文件夹(db)中的 json 文件(cred.json)。 该脚本运行良好,没有任何错误。
当我尝试在 python 脚本(wa.py)中导入 class 聊天时,该脚本保存在文件夹 db 上方的一个文件夹中,我收到一条错误消息,提示“[Errno 2] 没有这样的文件或目录”。
我的文件夹结构如下所示
- wa.py
- db
- db.py
- cred.json
db.py 中的一段代码,我指的是 json 文件
cred_filename = 'creds.json'
with open(cred_filename, 'r') as c:
data = json.load(c)
wa.py 看起来像这样
from db.db import Chat
我试图在谷歌上找到答案,但找不到我的案例的相关解释。 我知道这里有一些根本性的错误,但我无法弄清楚。
提前致谢。
本质上,您正在尝试打开creds.json
,它与您当前的工作目录相关(除非在运行时更改,否则您在调用脚本时一直在其中)这不需要,显然当这种情况发生时不是那个db.py
所在的位置。
只要您在导入/运行db.py
时已经在db/
中,这只能工作和工作。
如果你一直想在creds.json
所在的目录中获取db.py
,你可以说:
from pathlib import Path
...
cred_filename = Path(__file__).with_name("creds.json")
这需要导入此模块的文件的路径,并将文件名部分替换为"creds.json"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.