我不确定如何正确地问这个,但我有一个lib.py文件,其中我有一小段代码
def dPrint(text):
global debug
if debug == True:
print(text)
因此,当我执行from lib import *
时,它无法正常工作,因为它无法找到变量debug
。有没有办法让它在我的主文件中使用调试变量?
答案 0 :(得分:1)
您的问题有点难以理解,因为它没有提供最低限度的工作示例。就目前而言,我认为该片段是lib.py
中存在的所有内容。如果您希望debug
中的变量名lib.py
为全局变量,则应将代码重新排列为
global debug
debug = False
def dPrint(text):
if debug == True:
print(text)
这样,当您导入lib.py
时,它会将debug
变量解释为全局,其默认值为False
。您可以按照以下方式更改此值:
import lib
lib.debug = True
lib.dPrint('foo')
要从lib.py
导入所有内容并仍然能够控制lib.py
debug
变量的值,您可以在{{1}中定义toggle_debug
函数如下
<强> lib.py 强>
lib.py
其他脚本
debug = False
def dPrint(text):
if debug == True:
print(text)
def toggle_debug(forced_value=None):
global debug
if forced_value is None:
debug = not debug
else:
debug = forced_value