python的reload
先看看 from ...import ...的问题
# import parse_tumor_report.parse_tumor_report #这样是错的
from parse_tumor_report import parse_tumor_report #这个是正确用法
再看reload的问题
parse_report 是我自定义的一个模块文件。
该文件(模块)中包含了一个parse_tumor_report类。
这样是没错的。
import parse_report
import importlib
importlib.reload(parse_report)
但这样会报错
from parse_report import parse_tumor_report
import importlib
importlib.reload(parse_tumor_report)
报错内容是:
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-243-1cffe69861d4> in <module> 1 from parse_report import parse_tumor_report 2 import importlib ----> 3 importlib.reload(parse_tumor_report) D:\Users\Administrator\anaconda3\lib\importlib\__init__.py in reload(module) 138 """ 139 if not module or not isinstance(module, types.ModuleType): --> 140 raise TypeError("reload() argument must be a module") 141 try: 142 name = module.__spec__.name TypeError: reload() argument must be a module
也就是说,reload的东西必须是一个module,也就是模块文件,而不是一个类,或者一个方法/函数