我正在尝试 运行 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 任何东西, 所以它将是空的。
这是 运行 的 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 任何东西, 所以它将是空的。