繁体   English   中英

Errno 2 从子文件夹导入 python 脚本时没有此类文件或目录错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM