我试图在循环中对自定义应用运行一组简单的命令行调用。
即
list=['set1','set2','set3','set4']
ExternCmd = (myapp + ' ' + arg1 + ' ' + arg2 ' -v ')
for item in list:
arg1 = item
self.process.start(ExternCmd)
self.process.waitForFinished(-1)
但是我没有处理第2 - 4组,只有第一组。
我尝试添加self.process.join()以获取循环以等待当前集完成处理,但是我收到以下错误:
AttributeError: 'QProcess' object has no attribute 'join'
任何帮助都会让我的流程按顺序运行。我希望我们能够一个接一个地处理它们 - 而不是同时处理它们。
感谢
编辑:我把ExternCmd放在错误的地方为这个例子。我的代码应该是:
list=['set1','set2','set3','set4']
for item in list:
arg1 = item
ExternCmd = (myapp + ' ' + arg1 + ' ' + arg2 ' -v ')
self.process.start(ExternCmd)
self.process.waitForFinished(-1)
这仍然无法在Set1
以外的任何内容上运行该命令答案 0 :(得分:1)
更改args不会更改ExternCmd。您需要在循环中设置它,例如:
list=['set1','set2','set3','set4']
for item in list:
ExternCmd = (myapp + ' ' + item + ' -v ')
self.process.start(ExternCmd)
self.process.waitForFinished(-1)