我四处寻找,没有找到解决这个特殊Python问题的方法。可能是我使用的关键字,也可能只是一个特殊的用例。如果我的问题是后者,我的问题是:
我正在开发一个python(3)脚本,它需要使用一个python模块,该模块已经在用户的主目录中本地编译。我没有任何像配置脚本这样花哨的东西来为用户配置这个路径作为一个自动化的过程。我想在运行时将python模块的路径作为命令行参数传递给脚本,然后动态加载该模块。例如,我将调用:
$ myscript.py --modpath /home/user/path/to/ModuleSource
然后在我的代码中,当我解析命令行参数时,调用如下内容:
import sys
sys.path.append(localModulePath)
import GlobalModuleName
问题是,在使用模块方法的脚本静态代码中,只有在运行时将模块的定义传递给脚本时,才能解析实际的模块。 也就是说,如果我有如下python代码
GlobalModuleName.moduleFunc()
我得到运行时错误“NameError:name'GlobalModuleName'未定义”
如何使此配置在不产生错误的情况下工作?我确信使用模块动态定义的代码是正确的。提前谢谢你的指点
这对我很有效
模块1.py 导入操作系统 导入系统
main.py
执行
唯一需要注意的是
import
语句应该在sys.path.append
之后相关问题 更多 >
编程相关推荐