簡體   English   中英

從具有運行腳本的目錄中讀取文件,而不是從調用腳本的位置調用目錄位置python

[英]read files from directory that has running script rather than calling directory location from where the script was called, python

假設我有以下

test/
    Main.py
test/one/
    One.py
    test1.txt
test/two/
    Two.py
    test2.txt

我想做的是,運行Main.py並分別調用One.py和Two.py並想要讀取文件。 由於包含One.py的目錄只有一個文件test1.txt,我想讀取該文件,而包含Two.py的目錄只有一個文件test2.txt。

這可以簡單地通過

open("one/test1.txt", "r")

並在兩個文件中打開(“ two / test2.txt”,“ r”)

還有其他讀取文件的方法。 這是我采取的簡單情況。

我正面臨這個問題。 為此,我創建了設置對象,並手動向該目錄提供了所需的位置,並將此設置對象傳遞給需要位置以讀取文件的所有類。

有不同的方法嗎?

如果我正確理解了您的問題,是否想知道正在運行的python文件的目錄?

您可以在Python程序中訪問特殊變量__file__ 它返回python文件的路徑。

要在運行腳本的目錄中打開一個命名文件,請使用:

import os
f = open(os.path.join(os.path.dirname(__file__), "filename.txt"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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