я пытаюсь запустить поток в Python, но ничего не видно - PullRequest
0 голосов
/ 20 декабря 2018

Это выполняется в цикле for;

for something in something:
   if qf.isAlive:
            qf.join()
            qf.run()
            print('File writing thread id alive and now running')
        else:
            qf.start()
            print('File writing thread started')

, и я определил эти два кода вне цикла;

qf = threading.Thread(target=add_to_file)
qf.setDaemon = True

, и это функция для записи файла;

def add_to_file():
    with open('queue.txt', 'w+') as f:
       f.write(str(list(queue)))
       f.close()

Я не получаю никакого вывода, поскольку 'Поток записи файла жив ...', а также файл queue.txt пуст, пожалуйста, помогите мне в этом ..

1 Ответ

0 голосов
/ 20 декабря 2018

Здесь происходит несколько вещей.Во-первых, операторы print, вероятно, буферизуются, вы можете сделать что-то вроде этого:

import sys
...and then after your loop...
sys.stdout.flush()

Во-вторых, хотя вы не показали в своем коде, на что указывает переменная queue, если она связанаобратите внимание, что print ничего не возвращает, поэтому оно будет пустым.

...