在Python中动态地将两个文件导入到另一个文件中,其中这两个文件位于不同的目录中。
- 论坛
- 在Python中动态地将两个文件导入到另一个文件中,其中这两个文件位于不同的目录中。
6 浏览
在Python中动态地将两个文件导入到另一个文件中,其中这两个文件位于不同的目录中。
在Python 3.3+中,如何导入任意的Python源文件(文件名可以包含任何字符,并且不总是以.py
结尾)?
我使用了imp.load_module
,代码如下:
>>> import imp >>> path = '/tmp/a-b.txt' >>> with open(path, 'U') as f: ... mod = imp.load_module('a_b', f, path, ('.py', 'U', imp.PY_SOURCE)) ... >>> mod
这在Python 3.3中仍然可行,但根据imp.load_module
的文档,它已被弃用:
从版本3.3开始弃用:不需要使用加载器来加载模块,find_module()也已被弃用。
imp
模块的文档推荐使用importlib
:
注意:新的程序应该使用importlib,而不是这个模块。
在Python 3.3+中,没有使用已弃用的imp.load_module
函数,加载任意的Python源文件的正确方法是什么?