2012-07-03 21 views
0

調用目錄位置假設文件我有以下讀取目錄已運行腳本,而不是從那裏劇本叫,蟒蛇

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

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

這可以簡單地通過

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

完成和 打開(「two/test2.txt」,「r」) 在兩個文件中

是否有任何其他方式來讀取文件。這是我採取的簡單情況。

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

是否有不同的方法?

回答

3

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

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

要打開運行腳本的目錄中指定的文件,使用方法:

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