给定此代码,我如何告诉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中没有测试 最佳答案
使用'~/myfile.py'
将不起作用。
您必须使用相对路径,如下所示:'myfile.py'
或像这样的绝对路径:'/home/your_name/python_code/myfile.py'
关于python importlib,如何使动态加载文件的缓存无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39213683/