Как из функции Python вытащить переменную?

Есть функция из которой нужно вытащить одну переменную. return нельзя использовать так как используется threading который не возвращает то что возвращает функция. Нужно получить переменную data из функции read_sok как глобальную чтоб к ней можно было обратиться.
def messageShow(message, alias):
    def read_sok():
        while 1:
            data = sor.recv(1024)
            data = data.decode("utf-8")
            data_list = data.split()
            if data_list[1] != alias:
                print(data)
            time.sleep(1)

    server = '192.168.1.11', 9090  # Данные сервера
    # Вводим наш псевдоним
    sor = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sor.bind(('', 0))  # Задаем сокет как клиент
    sor.sendto((alias + ' Connect to server').encode('utf-8'), server)  # Уведомляем сервер о подключении
    potok = threading.Thread(target=read_sok)
    potok.start()
    while 1:
        sor.sendto(('[' + alias + '] ' + message).encode('utf-8'), server)
        break
  • Вопрос задан
  • 3051 просмотр
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Очередь используйте.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Karpion
Записать значение этой переменной в глобальную переменную.
Ответ написан
netpastor
@netpastor
Python developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы