簡體   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