假设您有一个包含以下内容的模块
myfile = open('test.txt', 'r')
并且“ test.txt”文件位于同一文件夹中。如果您将运行该模块,则文件将成功打开。
现在,假设您从另一个文件夹中的另一个模块导入该模块。不会在与该代码所在的模块相同的文件夹中搜索该文件。
那么如何使模块首先在同一文件夹中搜索具有相对路径的文件?
使用“ __file__”或“ os.getcwd()”有多种解决方案,但我希望有一种更简洁的方法,例如传递给open()或file()的字符串中的相同特殊字符。
__file__
os.getcwd()
解决方案是使用__file__它,它很干净:
import os TEST_FILENAME = os.path.join(os.path.dirname(__file__), 'test.txt')