2016-08-29 7 views
2

このコードが与えられていると、どのようにキャッシュされたソースを使用しないようにするか、python importlib、動的にロードされたファイルのキャッシュを無効にする方法

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にないと言うエラーになります。

答えて

0

'~/myfile.py'を使用すると動作しません。このような
'myfile.py'
または絶対パス:
'/home/your_name/python_code/myfile.py'


は、次のような相対パスを使用する必要があります
関連する問題