【发布时间】:2012-04-16 12:37:11
【问题描述】:
假设您有一个包含以下内容的模块
myfile = open('test.txt', 'r')
“test.txt”文件在同一个文件夹中。如果您将运行该模块,则该文件将成功打开。
现在,假设您从另一个文件夹中的另一个模块导入该模块。不会在与该代码所在的模块相同的文件夹中搜索该文件。
那么如何让模块在同一个文件夹中优先搜索具有相对路径的文件呢?
使用“__file__”或“os.getcwd()”有多种解决方案,但我希望有一种更简洁的方法,例如传递给 open() 或 file() 的字符串中的相同特殊字符。
【问题讨论】:
-
os.getcwd()有什么问题? -
os.getcwd()返回第一个模块的路径,该模块导入了该模块,或者导入了另一个导入它的模块。第一个模块可能在许多目录中。所以输入os.getcwd()+'something/somethingelse/yetanother/finallyhere'看起来不是很优雅
标签: python module relative-path