使用线程时位置参数错误

时间:2019-02-21 06:49:53

标签: python multithreading

我是python的新手,我已经编写了一个关于线程的示例程序。该程序只是打开并读取文件。在程序中,我引入了线程,该线程将像打开文件时一样记录实例,该线程将在另一个文件中写入该文件已打开的信息。当执行程序时,由于函数接受1个位置参数,但给出了19个参数,我遇到了错误。程序如下

import threading

def writefile(stext):
    f1.write(stext)

if __name = "__main__":
   f1.open("sample1.txt",w)
   f2.open("newfile.txt",r)
   t1 = threading.Thread(target=writefile,args=(new file opened"),)
   t1.start()
   print(f2.read())
   t1.join()
   print("done")

程序正在执行时,出现上述错误。请指导

关于, Saumik Vora

1 个答案:

答案 0 :(得分:0)

t1 = threading.Thread(target=writefile,args=(new file opened"),) 

应更改为t1 = threading.Thread(target=writefile,args=('new file opened",f1)) 另外,您还需要将文件指针发送到线程目标def writefile(stext,f1):