簡體   English   中英

打開一個相對於python模塊路徑的文件

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

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