3
我有使用perl編寫腳本的經驗,這使我可以輕鬆地使用back-ticks執行linux命令。我想知道,我該怎麼做這個Python?捕獲命令(輸出)的結果是否有特殊的方法?在python中執行系統命令
謝謝:)
我有使用perl編寫腳本的經驗,這使我可以輕鬆地使用back-ticks執行linux命令。我想知道,我該怎麼做這個Python?捕獲命令(輸出)的結果是否有特殊的方法?在python中執行系統命令
謝謝:)
爲了增加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
您正在尋找的subprocess模塊,特別是subprocess.check_call()和/或subprocess.check_output()命令。
對於向後兼容,你可能要小心一點與'check_output',這是隻有在> = 2.7。在2.7之前,你可能需要在'subprocess.PIPE'中使用'Popen' –