Странное поведение глобальной переменной в python - PullRequest
0 голосов
/ 17 марта 2020

У меня есть скрипт python, который запускает задание. Задание повторяется с использованием while l oop и ждет 1 секунду между итерациями l oop. Работа начата в потоке. Я могу завершить поток, вызвав другую функцию stop () из консоли, которая устанавливает для глобальной переменной 'go' значение False. Но ввод «go = False» в консоли не останавливает работу. Это почему? Я очень смущен. Вот мой сценарий.

import threading, time

interval = 1

def job():
    while go:
        print('Job ...') 
        time.sleep(interval)

def stop():
    global go
    go = False

go = True
threading.Thread(target=job).start()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...