![](/img/trans.png)
[英]open() gives FileNotFoundError/IOError: Errno 2 No such file or directory
[英]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.