python importlib,如何使动态加载文件的缓存无效

时间:2016-08-29 19:24:19

标签: python python-import python-3.5 python-module

鉴于此代码,如何告诉python不使用缓存源或重新加载?

import importlib.util

spec = importlib.util.spec_from_file_location('test', '~/myfile.py')
test = importlib.util.module_from_spec(spec)
spec.loader.exec_module(test)

test.do_stuff()

当myfile.py的内容发生变化时,我会假设因为它被缓存了。调用importlib.invalidate_caches()没有帮助,importlib.reload导致错误,说测试不在sys.modules中

1 个答案:

答案 0 :(得分:0)

使用'~/myfile.py'无法使用 你必须使用这样的相对路径:
'myfile.py'
或绝对路径如下:
'/home/your_name/python_code/myfile.py'