[問題] os.system的問題

看板Python作者 (不口人)時間14年前 (2011/04/29 02:44), 編輯推噓6(605)
留言11則, 7人參與, 最新討論串1/1
小弟是在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

04/29 02:53, , 1F
既然用system() 那裡面最後加個&就好了
04/29 02:53, 1F

04/29 02:53, , 2F
不然就用subprocess
04/29 02:53, 2F

04/29 09:05, , 3F
用subprocess吧!
04/29 09:05, 3F

04/29 09:35, , 4F
用threading呢?
04/29 09:35, 4F

04/29 11:13, , 5F
threading要寫個thread function XD
04/29 11:13, 5F

04/29 14:37, , 6F
threading.Thread(target=os.system, args=(#,)).start()
04/29 14:37, 6F

04/29 14:37, , 7F
#填指令 也不是很複雜
04/29 14:37, 7F

04/29 17:17, , 8F
喔喔感謝樓上XD 沒想到有這招XD
04/29 17:17, 8F

04/29 19:28, , 9F
用 subprocess 的好處是可以讀輸出回來, 還可以傳輸入
04/29 19:28, 9F

04/30 04:26, , 10F
我也是跟6樓一樣的想法
04/30 04:26, 10F

05/01 01:16, , 11F
感謝回答,我再來試一下
05/01 01:16, 11F
文章代碼(AID): #1DkRMa88 (Python)
文章代碼(AID): #1DkRMa88 (Python)