【发布时间】:2020-09-18 10:23:12
【问题描述】:
我已经使用sys.path.insert 从 Linux 中的另一个目录导入了一个 python 模块,但是当我运行该模块时它失败了。由于导入的模块试图打开该模块的本地文件。请告诉我如何解决此问题。
users/adr/release/invoke.py #this one fails with can’t open file ./config.ini
import sys
sys.path.insert(0, ‘/user/cdw/audit/’)
import audit_main
原始模块文件所在的路径。
/user/cdw/audit/audit_main.py # this module opens config.ini file to read pplication credentials.
/user/cdw/audit/config.ini
/user/cdw/audit/__ini__.py
【问题讨论】:
-
您可以使用该模块的
__file__变量。os.path.join(os.path.dirname(__file__), "config.ini") -
当问这些类型的问题时,如果你添加一个像this 这样的文件夹结构,并在代码块中添加你的错误的完整堆栈跟踪,会更好/更好。让我们的工作轻松很多。
-
@drum 你把那个编辑的缩进弄乱了。
-
@tdelaney,它正在工作。非常感谢!
标签: python python-import pythonpath