作者IMPOSSIBLEr (不口人)
看板Python
標題[問題] os.system的問題
時間Fri Apr 29 02:44:50 2011
小弟是在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
1F:→ buganini:既然用system() 那裡面最後加個&就好了 04/29 02:53
2F:→ buganini:不然就用subprocess 04/29 02:53
3F:推 scan33scan33:用subprocess吧! 04/29 09:05
4F:推 qscccc:用threading呢? 04/29 09:35
5F:推 scan33scan33:threading要寫個thread function XD 04/29 11:13
6F:推 ckclark:threading.Thread(target=os.system, args=(#,)).start() 04/29 14:37
7F:→ ckclark:#填指令 也不是很複雜 04/29 14:37
8F:推 scan33scan33:喔喔感謝樓上XD 沒想到有這招XD 04/29 17:17
9F:→ uranusjr:用 subprocess 的好處是可以讀輸出回來, 還可以傳輸入 04/29 19:28
10F:推 cobrasgo:我也是跟6樓一樣的想法 04/30 04:26
11F:→ IMPOSSIBLEr:感謝回答,我再來試一下 05/01 01:16