[英]How to get Python to run a submodule from that submodule's path for relative paths?
我有一個在文件目錄中非常復雜的項目。
project/
scripts/
scriptA.py
...
data/
A.csv
...
scripts\\
的文件將修改data\\
。 實際結構是一個更嵌套和更復雜的結構。 由於我要分別測試每個文件,因此當前效果很好,但是我想在根目錄中包含一個run.py
,它將通過所有相關腳本運行。
但是, scriptA.py
等都是用../data/A.csv
類的相對路徑編寫的,這意味着run.py
無法運行。 最好的方法是什么? 我已經研究過Python的__file__
但仍不確定如何將其用於我的目的。
如果您使用的是Python 3,我會這樣做:
# This is scriptA.py
from pathlib import Path
script_a = Path(__file__)
scripts_dir = script_a.parent
project_dir = scripts_dir.parent
data_dir = project_dir / 'data'
a_csv = data_dir / 'A.csv'
with a_csv.open():
# Some work on the file
實際上,您可能不會將其分解為一堆不同的變量,我只是出於說明目的。 請查看pathlib文檔以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.