library.py
str = ''
def setStr(input):
global str
str = input
def getStr():
return str
现在我可以导入模块并更新它们...
module1.py
import library
import module2
library.setStr('wow')
module2.run()
module2.py
import library
def run():
print(library.getStr())
输出
wow
有没有办法在没有全球呼叫的情况下创建我展示的功能?
谢谢!
那么,我如何复制日志记录的工作方式,但没有全局变量呢?
您不能,因为logging
使用全局(模块级)变量来存储其配置。 例如,根记录器保存在全局变量中。
(我的意思是,你可以让这些变量存在于类级别而不是模块级别,就像Logger.manager
所做的那样,但无论哪种方式,它的代码气味都是相同的。