簡體   English   中英

python模塊訪問“本地”目錄中的文件

[英]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.

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