说我有两个python文件
# importer.py
parameter = 4
import importee
和
# importee.py
print parameter
我可以或如何在 importee.py 访问 importer.py ' parameter
?
我正在使用丑陋的工作,借用(和污染)sys
# importer.py
import sys
sys.parameter = 4
import importee
和
# importee.py
print sys.parameter
太难看了。 寻找更好的解决方案。
答案 0 :(得分:4)
实现我想要实现的目标的推荐方法是在importee中声明函数,并调用它,例如:
# importer.py
import importee
importee.call_me(4)
和
# importee.py
def call_me(parameter):
print(parameter)
最好避免在全局范围内执行任何操作。特别是print()
任何事情,但我想你的最小例子与你的真实用例不符:)。
顺便说一句,你提到的丑陋工作实际上等同于使用单独的配置模块。例如:
# importer.py
import config
config.param = 4
import importee
+
# importee.py
import config
print(config.param)
+
# config.py
param = 7 # some default
它仍然没有接近漂亮,但至少避免了系统模块的损坏。