Python';for循环中的s os.system:如何在重新启动循环之前等待命令完成?
我对使用os.system(Python3)是新手,我正在尝试执行一个通常在Linux终端上运行的程序。我需要迭代几次,并使用如下循环:Python';for循环中的s os.system:如何在重新启动循环之前等待命令完成?,python,python-3.x,os.system,gnome-terminal,Python,Python 3.x,Os.system,Gnome Terminal,我对使用os.system(Python3)是新手,我正在尝试执行一个通常在Linux终端上运行的程序。我需要迭代几次,并使用如下循环: for item in item_list: os.system("gnome-terminal -- program_execute "+item) 问题是,此循环同时打开n终端窗口(我的项目列表的长度为n),并同时执行所有窗口。我的问题是: 如何运行循环len(item_list)次,而下一次运行仅在当前运行结束后开始 我不
for item in item_list:
os.system("gnome-terminal -- program_execute "+item)
问题是,此循环同时打开n
终端窗口(我的项目列表的长度为n
),并同时执行所有窗口。我的问题是:
如何运行循环len(item_list)
次,而下一次运行仅在当前运行结束后开始
我不能使用sleep()
,因为运行时间因项目而异,我希望优化流程
编辑:我尝试过使用.communicate()和.wait()但没有成功。我希望os.system(或os.SUBSPROCESS)理解gnome终端仍在运行,仅在上一个循环的gnome终端关闭后经过循环中的下一个元素。我使用了下面的代码的SUBSPROCESS,它工作正常,即软件运行一次并在进入下一个循环之前完全完成
for item in item_list:
subprocess.call(["gnome-terminal","--disable-factory","--","my_command"])
这回答了你的问题吗?这已经被问到:>@mkrieger1,它实际上没有。即使在我使用.communicate()或.wait()时,问题仍然存在。@damian863m,错误404。您到底是如何使用子流程的
模块的?你能用一个新的答案更新这个问题吗?