2011-08-19 126 views
3

我有使用perl編寫腳本的經驗,這使我可以輕鬆地使用back-ticks執行linux命令。我想知道,我該怎麼做這個Python?捕獲命令(輸出)的結果是否有特殊的方法?在python中執行系統命令

謝謝:)

回答

6

爲了增加urschrei的答案,這裏是一個例子(Windows)中:

>>> import subprocess 
>>> p = subprocess.Popen(['ping', '192.168.111.198'], stdout=subprocess.PIPE, st 
derr=subprocess.PIPE) 
>>> out, err = p.communicate() 
>>> print out 

Pinging 192.168.111.198 with 32 bytes of data: 
Reply from 192.168.111.198: bytes=32 time<1ms TTL=128 
Reply from 192.168.111.198: bytes=32 time<1ms TTL=128 
Reply from 192.168.111.198: bytes=32 time<1ms TTL=128 
Reply from 192.168.111.198: bytes=32 time<1ms TTL=128 

Ping statistics for 192.168.111.198: 
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), 
Approximate round trip times in milli-seconds: 
    Minimum = 0ms, Maximum = 0ms, Average = 0ms 

>>> print err 

>>> print p.returncode 
0