小编典典

如何创建“始终相对于当前模块”的文件路径?

python

假设您有一个包含以下内容的模块

myfile = open('test.txt', 'r')

并且“ test.txt”文件位于同一文件夹中。如果您将运行该模块,则文件将成功打开。

现在,假设您从另一个文件夹中的另一个模块导入该模块。不会在与该代码所在的模块相同的文件夹中搜索该文件。

那么如何使模块首先在同一文件夹中搜索具有相对路径的文件?

使用“ __file__”或“
os.getcwd()”有多种解决方案,但我希望有一种更简洁的方法,例如传递给open()或file()的字符串中的相同特殊字符。


阅读 208

收藏
2020-12-20

共1个答案

小编典典

解决方案是使用__file__它,它很干净:

import os

TEST_FILENAME = os.path.join(os.path.dirname(__file__), 'test.txt')
2020-12-20