假设你有一个包含以下内容的模块:
myfile = open('test.txt', 'r')
如果你运行这个模块,'test.txt'文件在同一个文件夹中将会成功打开。
现在假设你从另一个在不同文件夹中的模块中导入该模块,文件将不会在与包含该代码的模块相同的文件夹中搜索。
那么如何使该模块首先使用相对路径在同一文件夹中搜索文件呢?
有多种解决方案可以使用"__file__
"或"os.getcwd()
",但我希望有一种更简洁的方法,比如在传递给open()或file()的字符串中使用相同的特殊字符。
os.getcwd()
有什么问题? - cfedermannos.getcwd()
返回第一个导入该模块或导入另一个已导入它的模块的模块的路径。第一个模块可能位于许多上下级目录中,所以键入os.getcwd()+'something/somethingelse/yetanother/finallyhere'
看起来不太优美。 - user975135os.getcwd()
返回的是进程的当前工作目录,这与任何模块都没有必然的关联。 - undefined