最佳答案
如何在 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
<module 'a_b' from '/tmp/a-b.txt'>
它仍然可以在 Python 3.3中使用,但是根据 imp.load_module
文档,它已经被弃用了:
由于版本3.3 已经废弃: 不需要,因为应该使用加载程序 Load 模块和 find _ module ()不推荐使用。
建议使用 importlib
的 imp
模块文档:
注意 新程序应该使用 import lib 而不是这个模块。
在 Python 3.3 + 中加载任意的 Python 源文件而不使用废弃的 imp.load_module
函数的正确方法是什么?