Python 3.x 信号处理程序无法更改变量
我试图为我的Python应用程序创建一个简单的信号处理程序,但是退出时的Python 3.x 信号处理程序无法更改变量,python-3.x,signals,Python 3.x,Signals,我试图为我的Python应用程序创建一个简单的信号处理程序,但是退出时的值不会改变,即使我使用Ctrl-C。如果我将退出,则退出主功能时,值会发生变化。当退出位于main()内时,如何更改其值?目前,程序总是打印 False无论我是否按了Ctrl-C 导入信号 导入时间 def main(): 退出=错误 def处理器(f、b): 全球退出 退出=真 返回 signal.signal(signal.SIGINT,handler) 尽管如此: 打印(退出) 时间。睡眠(1) 如果名称=“\uuuu
值不会改变,即使我使用Ctrl-C
。如果我将退出
,则退出主功能
时,值会发生变化。当退出位于main()
内时,如何更改其值?目前,程序总是打印
False
无论我是否按了Ctrl-C
导入信号
导入时间
def main():
退出=错误
def处理器(f、b):
全球退出
退出=真
返回
signal.signal(signal.SIGINT,handler)
尽管如此:
打印(退出)
时间。睡眠(1)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
全局
也应包含在主功能中
导入信号
导入时间
def main():
全球退出
退出=错误
def处理器(f、b):
全球退出
退出=真
返回
signal.signal(signal.SIGINT,handler)
尽管如此:
打印(退出)
时间。睡眠(1)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
全局
也应包含在主功能中
导入信号
导入时间
def main():
全球退出
退出=错误
def处理器(f、b):
全球退出
退出=真
返回
signal.signal(signal.SIGINT,handler)
尽管如此:
打印(退出)
时间。睡眠(1)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
如果将全局
更改为非本地
,会发生什么情况?我建议你复习一下,看看你是否还有这个问题。谢谢你的指点。我检查了一下,找到了答案。如果将全局
更改为非局部
,会发生什么情况?我建议你复习一下,看看你是否还有这个问题。谢谢你的指点。我复习了一遍,找到了答案。