我有2个python脚本。Python - 导入模块只有一次
satellite_utils.py
apply_errata.py
,我运行的脚本是:在satellite_utils.py
定义
python3.4 apply_errata.py
apply_errata.py
通话功能。
现在我正在使用模块logging
来记录我的消息。我只想导入一次,而不必在每个脚本中声明它。
如果我定义apply_errata.py
logging
和参考在satellite_utils.py
发微博,我得到:
Traceback (most recent call last):
File "apply_errata.py", line 20, in <module>
satellite_utils.applyErrata(args.release, args.all, args.rollback)
File "/root/config-3.1.21/automated-os-patching/satellite_utils.py", line 34, in applyErrata
applyErrataOnSystem(system, release, automaticRollback, [erratum])
File "/root/config-3.1.21/automated-os-patching/satellite_utils.py", line 39, in applyErrataOnSystem
logging.warning('is when this event was logged.')
NameError: name 'logging' is not defined
什么办法可以避开everyfile import语句?
为什么你不想在每个文件中导入它? – bereal
如果你想使用一个模块,你需要导入它。导入模块并不意味着它被多次加载。这只是意味着你正在代码中引用它。 – MrE
每个需要'logging'的模块都应该'导入日志记录'。 – user2357112