anaconda - 在 python 3.7 上使用 importlib 重新加载
问题描述
我正在尝试使用 importlib 重新加载文件。我在 Python 3.7 上使用 Anaconda 提示符,但是当我尝试 importlib.reload 时,我不明白为什么它说“'importlib' is not defined”,但是当我使用 from x import reload 时它可以工作。
它在这里工作:
>>> import script1
win32
1267650600228229401496703205376
SpamSpamSpamSpamSpamSpamSpamSpam
import importlib
>>> from importlib import reload
>>> reload(script1)
win32
1267650600228229401496703205376
SpamSpamSpamSpamSpamSpamSpamSpam
在这里它不起作用:
Python 3.7.3
>>> import script1
win32
1267650600228229401496703205376
SpamSpamSpamSpamSpamSpamSpamSpam
import importlib
>>> importlib.reload(script1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'importlib' is not defined
解决方案
看起来import importlib
命令是在模块内评估的script1
(当它被导入时),所以它只在模块内可用script1
。导入script1
完成后,在此模块中导入的任何内容都超出了范围。如果您想重新加载它,请尝试import importlib
明确评估。import script1
您的输入/输出应如下所示:
Python 3.7.3
>>> import script1
win32
1267650600228229401496703205376
SpamSpamSpamSpamSpamSpamSpamSpam
import importlib
>>> import importlib
>>> importlib.reload(script1)
推荐阅读
- google-cloud-platform - (谷歌云平台)我不小心在Linux VM里面设置了防火墙
- hierarchical-data - Azure SQL DB - 分层查询
- dataframe - Pyspark 中最多两列
- discord - TypeError:制作爆炸参数时无法读取未定义的属性“bulkDelete”
- node.js - 如何使用 React Error boundry get error details 尽可能多地获取有关错误的详细信息?
- android - 房间自动迁移不起作用:新表(实体)的致命异常
- docker - 如何在同一个 docker 容器中运行 nginx 和 gunicorn
- pandas - 在熊猫 1.3 中升级多索引数据帧
- excel - VBA编码,查找和匹配功能
- javascript - 如何在 javascript 中删除元素?