看板 Python 關於我們 聯絡資訊
小弟是在Linux上寫程式 目前code差不多是完成了, 但是有一個地方,就是在使用os.system的時候 有沒有辦法讓他是同時跑而不用等前一個作完才跑下一個 我的code大概長得像這樣 for xxx in range(xxx): os.system(xxx) 假設他loop十次好了,這樣寫的話應該是第一次作完才跑第二次這樣 但是我想讓他同時作,不知道有沒有辦法? 我看python API是說os.system預設是有os.wait()的功能,也就是後面 的指令會等os.system跑完才執行。有沒有辦法bypass呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 148.87.1.167
buganini:既然用system() 那裡面最後加個&就好了 04/29 02:53
buganini:不然就用subprocess 04/29 02:53
scan33scan33:用subprocess吧! 04/29 09:05
qscccc:用threading呢? 04/29 09:35
scan33scan33:threading要寫個thread function XD 04/29 11:13
ckclark:threading.Thread(target=os.system, args=(#,)).start() 04/29 14:37
ckclark:#填指令 也不是很複雜 04/29 14:37
scan33scan33:喔喔感謝樓上XD 沒想到有這招XD 04/29 17:17
uranusjr:用 subprocess 的好處是可以讀輸出回來, 還可以傳輸入 04/29 19:28
cobrasgo:我也是跟6樓一樣的想法 04/30 04:26
IMPOSSIBLEr:感謝回答,我再來試一下 05/01 01:16