python subprocess重定向標準輸出

2022-08-12 20:00:19 字數 568 閱讀 3991

subprocess.call("

ping -c 1 %s

" % ip,shell = true,stdout = open('

/dev/null

','w

'),stderr = subprocess.stdout)

ping傳送乙個icmp請求,並且將標準輸出重定向到/dev/null,相當於丟棄,並且將標準錯誤輸出重新定向到標準輸出。這條語句返回其實就是ping值,就是python程式先建立shell程序,shell建立ping程序,ping程序執行返回值被shell等待,shell返回值給python程式wait,如果成功則為0.

subprocess.popen("

arping -c 1 %s

" % ip,shell = true,stdout = subprocess.pipe)

arp請求區域網內的ip機器的mac, 有相應arping返回0, 否則返回1, 一路從arping->shell->py返回上來,stdout是重定向子程序的標準輸出到乙個管道, py程序就可以讀取管道得到子程序的輸出了.

重定向標準輸出

各位看官,今天我們來聊聊標準io流的重定向問題。必須,在程式設計時會輸出大量資訊到螢幕上,非常不方便閱讀,我們可以通過對於標準輸出的重定向,從而使得閱讀更方便。主要涉及的方法為 setin inputstream setout printstream seterr printstream setin...

Linux永久後台執行命令並重定向標準輸出

nohup command out.log 2 1 nohup命令表示不中斷執行命令,不隨終端的關閉而終止 後台執行 0 stdin standard input 1 stdout standard output 2 stderr standard error 2 1是將標準錯誤 2 重定向到標準輸...

重定向標準錯誤輸出

第5章介紹了標準輸出的概念,並解釋了如何重定向命令的標準輸出。除了標準輸出之外,命令還可以將輸出傳送到標準錯誤輸出。命令將錯誤訊息傳送到標準錯誤輸出,這樣就可以避免與傳送到標準輸出的資訊混淆在一起。與處理標準輸出一樣,預設情況下,shell將命令的標準錯誤輸出傳送到螢幕上。除非重定向標準輸出和標準錯...