[英]python modules accessing files in “local” directory
我有一個簡單的問題。 我有一個需要文件“ dev1_blob”的python模塊“ dev1.py”
如果我將所有內容都放在一個目錄中。 my_app像這樣加載dev1
from dev1 import func1
它工作正常。 我想將dev1.py移至其中具有init .py的目錄“ ./dev_files”。我可以將dev1.py加載為
from dev_files.dev1 import func1
然而,當FUNC1運行進入“device_blob” - 它barfs:
resource not found ..
這是如此基本,以至於我認為我缺少一些東西。 我想不通為什么蟒蛇的偉大的思想家想要的一切來指__file__
(CWD),並強迫我基於這樣它正在從運行修改dev1.py。 即在dev1.py中將該文件稱為: 'dev_files/device_blob'
我可以通過這種方式使其工作,但這純粹是荒謬的編寫代碼方式。 是否有訪問旁邊的模塊文件或在下面的樹中的文件,一個簡單的方法?
相對路徑是Python的較大缺陷之一。
對於此用例,您可以調用open('../dev_files/device_blob')
首先返回目錄。
我的一般解決方案是擁有一個“ project.py”文件,其中包含項目目錄的絕對路徑。 然后我調用open(os.path.join(PROJECT_DIR, 'dev_files', 'device_blob'))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.