在Python中循环外部命令
问题描述:
我试图在循环内运行一组简单的命令行调用自定义应用程序。在Python中循环外部命令
即
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
答
更改参数表是不改变ExternCmd以外的任何命令。您需要设置在循环,例如:
list=['set1','set2','set3','set4']
for item in list:
ExternCmd = (myapp + ' ' + item + ' -v ')
self.process.start(ExternCmd)
self.process.waitForFinished(-1)
+0
哎呀,我急着写一个简单的例子,我把ExternCmd放在循环之外。在我的实际代码里面 - 我会更新我原来的帖子 – sjm1983
你改变'arg1' –
的代码不正确'ARG2“-v”'是无效的语法之前'ExternCmd'创建。发布真正的非工作代码。请参阅[mcve](http://stackoverflow.com/help/mcve)。 –