У меня есть обработчик сигнала для обработки прерывания ctrl-c. Если в обработчике сигнала я хочу прочитать набор переменных в моем главном script, есть ли альтернатива использованию "глобального" оператора при установке переменной?
Я не возражаю против этого, но прочитал это сообщение (Вы используете "глобальный" оператор в Python?), в котором кто-то прокомментировал, что не будет основанием для использования глобального.
Какова альтернатива в этом случае?
Мой код выглядит следующим образом:
def signal_handler(signal, frame):
print "in sig handler - g_var=%s" % g_var
def main():
global g_var
g_var = "test"
time.sleep(120)
if __name__ == '__main__':
signal.signal(signal.SIGINT, signal_handler)
main()