簡體   English   中英

打開 FileNotFoundError: [Errno 2] 沒有這樣的文件或目錄:

[英]with open FileNotFoundError: [Errno 2] No such file or directory:

這是我的代碼的文件夾結構:

project/
    latplan/
         __init__.py
         model.py
    samples/
         text.txt
    main2.py
lyrics/
    main.py

每個文件的內容:

主文件

#!/usr/bin/env python
import sys
sys.path.append(r"../project")
import latplan

... = some other code where latplan module was needed, then:

latplan.model.NN().load()

main2.py

#!/usr/bin/env python
import latplan

latplan.model.NN().load()

模型.py

class NN():
    x = 5
    def load(self):
        with open("samples/text.txt", "r") as f:
            print("success")

當我執行main2.py (從項目/文件夾):

./main2.py

我得到:

成功

但是當我執行main.py (來自歌詞/文件夾)時:

./main.py

我得到錯誤:

"\lyrics../project\latplan\model.py",第 6 行,在加載中使用 open("samples/text.txt", "r") as f: FileNotFoundError: [Errno 2] 沒有這樣的文件或目錄: '樣本/文本.txt

只能修改 main.py文件,那我該怎么做才能避免這個錯誤呢?

非常感謝

如果只能修改main.py ,唯一可行的方法是在啟動時更改工作目錄。 修改sys.path后,可以添加:

os.chdir('../project')

當它在導入上下文之外查找新的相對路徑名時,它將更改您的工作目錄(它也會影響導入上下文,但僅當空字符串位於sys.path時,默認情況下僅在交互運行時發生,或者當該腳本是從stdin讀取的,這兩種情況都不是這里的預期情況)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM