我有一个使用当前路径加载数据的函数,如下所示open('./filename', 'rb')
:当我从位于同一包中的模块调用它时,它可以工作,但是当我从不同包中的模块导入它的包并调用它时,我收到一条错误消息,告诉我路径'./filename'
不存在。该错误是由调用引发的open
。是什么原因造成的,我该如何解决?
问问题
49 次
1 回答
2
我不知道最佳实践,但模块有一个__file__
属性设置为加载它们的文件名称的字符串表示形式。因此,您可以这样做:
import os.path
# Get the directory this module is being loaded from
module_directory = os.path.dirname(__file__)
# Get the path to the file we want to open
file_path = os.path.join(module_directory, 'filename')
with open(file_path, 'rb') as f:
# do what you want with the file
于 2013-07-12T06:33:07.663 回答