![](/img/trans.png)
[英]How to run python file from subfolder so current folder file path automatically detect and edit data?
[英]How to access a file a path level below from a subfolder
假設我在當前目錄中有一個名為credentials.json
的文件,一個環境變量MY_CREDENTIALS=credentials.json
和一個腳本main.py
,它通過os.getenv('MY_CREDENTIALS')
使用這個環境變量。
現在假設我創建了一個子文件夾並在那里放了這樣的東西: /subfolder/my_other_script.py
。 如果我打印os.getenv('MY_CREDENTIALS')
那么我確實得到了credentials.json
但我不能使用這個文件,因為它在我的根目錄中(不在/subfolder
)。 那么,雖然這個文件在根目錄中,我該如何使用它呢? 唯一對我有用的是在/subfolder
制作credentials.json
的副本,但隨后我會有這個文件的多個副本,我不想要那個。
感謝您的答復!
這樣的事情可以工作:
from pathlib import Path
import os
FILENAME = os.getenv('MY_CREDENTIALS')
filePath = Path(FILENAME)
if filePath.exists() and filePath.is_file():
print("Success: File exists")
print(filePath.read_text())
else:
print("Error: File does not exist. Getting file from level below.")
print((filePath.absolute().parent.parent / filePath.name).read_text())
基本上,您檢查當前文件夾中是否存在您的文件。 如果您的腳本在您的根文件夾中,就會出現這種情況。 如果不是,則假定您位於子文件夾中。 因此,您嘗試從下一級(您的根)獲取文件。 它尚未完全投入生產,但對於您提到的特定情況,它應該可以工作。 在生產中,您應該考慮可能嵌套子文件夾或文件永久丟失的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.