[英]Reading a file from the directory which module is imported
我正在嘗試讀取在 Python 中創建的自定義模塊中的文件。 但是當我嘗試這樣做時它顯示錯誤。
base/
|
|_ app.py
|_ cmod/
|
|_ __init__.py
|_ util.py
|_ db.csv
util.py
片段from csvhandler import CSVFile
def get_db():
with open("db.csv", "r+") as db:
data = CSVFile(db)
return data
app.py
片段from cmod import util
data = util.get_db()
它拋出以下錯誤
FileNotFoundError: [Errno 2] No such file or directory: 'db.csv'
放置的導入有什么問題嗎?
注意: db.csv
只能放在那里。
運行它時的當前工作目錄可能是 app.py 所在的一個。 open() 在當前工作目錄中查找文件,而不是當前執行文件的目錄。
打開相對存儲的文件最便攜的方法是獲取 python 文件的完整路徑,隔離目錄,然后加入它。
util.py
import os
def get_db():
directory = os.path.dirname(__file__)
with open(os.path.join(directory, "db.csv"), "r+") as db:
data = CSVFile(db)
return data
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.