如何获取导入的模块以打开存储在模块本地的文本文件?

时间:2018-07-28 10:32:07

标签: python

我有一个python(3)模块,它需要打开一个文件来获取数据。我想将此模块导入其他python程序中,但是当我尝试该模块失败时,因为它找不到数据文件。

数据文件与python模块存储在同一文件夹中。我以为即使导入文件,文件仍然会检查其本地路径。

如何使它正常工作?

1 个答案:

答案 0 :(得分:0)

假设这样的目录结构:

.
├── bar
│   ├── __init__.py
│   └── foo.py
└── main.py

在您的main.py脚本中,您可以创建一个绝对路径:

import os
import bar.foo as myFoo

dataFilePath = os.path.join(os.path.dirname(myFoo.__file__), 'data.csv')
print(dataFilePath)
myFoo.load(dataFilePath)

这将为数据文件生成一个绝对路径:

/tmp/bar/data.csv