Python:无法从线程打开和写入文件

时间:2017-09-13 14:46:49

标签: python multithreading

我正在尝试创建/打开并从线程写入文件。

from threading import Thread


CONNECTION_PORT = 9191

def testl():
    file = open("testfile.txt","w") 
    file.write("Hello World") 
    file.write("This is our new text file") 
    file.write("and this is another line.") 
    file.write("Why? Because we can.") 

    file.close() 

def test():
    t = Thread(target=testl)
    # t.daemon = True
    t.start()


test() 

问题在于,当我取消评测测试功能的第二行(t.daemon = True)时,它停止工作。有没有办法让它在守护程序线程模式下工作?

我无法在互联网上找到任何解决方案,甚至与此相关。我知道这不是文件操作的最佳方式。

1 个答案:

答案 0 :(得分:0)

守护程序线程意味着python不需要在程序退出之前等待线程完成。 那么,会发生什么:

  • test()启动帖子

  • test()结束,包含test()(可能是主线程)的线程结束

  • 没有非守护程序线程

  • python退出。

我真的不认为您希望该线程成为守护程序线程。 如果这样做,您应该有一些非守护程序线程调用t.join(),以便您等待该线程完成。