从具有运行脚本的目录中读取文件,而不是从调用脚本的地方调用目录位置python

时间:2012-07-03 12:24:38

标签: python readfile working-directory

假设我有以下

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”) 在两个文件中

还有其他方法可以读取文件。这是我采取的简单案例。

我正面临这个问题。为此,我创建了设置对象并手动为该目录提供了所需的位置,并将此设置对象传递给需要读取文件位置的所有类

有不同的方法吗?

1 个答案:

答案 0 :(得分:3)

如果我理解你的问题,你想知道正在运行的python文件的目录吗?

您可以在Python程序中访问特殊变量__file__。它返回python文件的路径。

要在正在运行的脚本目录中打开命名文件,请使用:

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