![](/img/trans.png)
[英]Python os module open file above current directory with relative path
[英]Open a file relative to python module path
在我提出問題之前對我的情況進行一點解釋。
我創建了一個名為 foo 的模塊。 foo 在文件系統中的位置是
/runtime/foo
並且使用 sys.path.append() 導入 foo 的腳本“test.py”位於。
/runtime/bar/test.py
foo的結構如下
foo
mtr.txt
__init__.py
datasources.py
我想要 datasources.py 中的一個類來打開文件 mtr.txt。 但是,如果不明確給出數據源中的路徑,我就無法做到這一點。 在這種情況下,它將是
/runtime/foo/mtr.txt
如果我給它這個路徑,我的代碼將起作用,但這是應該可行的,但我找不到答案。
我在 datasources.py 的一個類中嘗試了以下命令。
open("mtr.txt")
open("./mtr.txt")
以及其他一些使用 os.path.dirname() 的東西
有沒有辦法打開文件“mtr.txt”而不在datasources.py中提供其完整路徑?
謝謝
使用pkg_resources
import pkg_resources
data = pkg_resources.resource_string(__name__, "mtr.txt")
這個包提供了更多的方法,查看Resource Manager API的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.