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)
 in 
      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,也就是模块文件,而不是一个类,或者一个方法/函数 

你可能感兴趣的:(python,java,linux)