我在一个线程中执行一个命令,差不多有25k次,如
if threaded is True:
thread = Thread(target=threadedCommand, args=(cmd))
thread.start()
thread.join()
def threadedCommand(command):
if command is None:
print 'can\'t execute threaded command'
sys.exit(-1)
print 'executing - %s'%(command)
os.system(command)
和命令就像
cp file dir
我所看到的是
Traceback(最近一次调用最后一次):文件 “/usr/lib64/python2.6/threading.py”,第525行,在__bootstrap_inner中 self.run()文件“/usr/lib64/python2.6/threading.py”,第477行, 在奔跑 self .__ target(* self .__ args,** self .__ kwargs)TypeError: threadedCommand()只需要1个参数(给定52个)
^线程中的CException Thread-9377:Traceback(最近一次调用最后一次): 文件“/usr/lib64/python2.6/threading.py”,第525行,in __bootstrap_inner self.run()文件“/usr/lib64/python2.6/threading.py”,第477行, 在奔跑 self .__ target(* self .__ args,** self .__ kwargs)TypeError: threadedCommand()只取1个参数(56个给定)
答案 0 :(得分:20)
args
必须是元组。 (cmd)
与cmd
相同;你想要一个单元素元组:
thread = Thread(target=threadedCommand, args=(cmd,))
# ^