我正在尝试 运行 python 中的一个线程,但没有看到任何输出

i am trying to run a thread in python but no output is seen

这是 运行 的 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()

我没有得到任何输出,因为 'File writing thread is alive...' 而且 queue.txt 文件是空的 请帮助我..

这里发生了几件事。首先,打印语句可能是缓冲的,你可以这样做:

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

其次,虽然您没有在代码中显示变量 queue 指向什么,但如果它与那些线程相关,请注意 print 没有 return 任何东西, 所以它将是空的。