方法1: os.system
#直接使用os.system("command") 來執行外部程序,返回程式結束返回碼(正常0/1錯誤),這實際上是使用C標準庫函數system()實現的。這個函數在執行command指令時需要重新開啟一個終端,且無法儲存command指令的執行結果。
缺點: 不能取得程式輸出stdout.不能像PHP的exec(string $command [, array &$output [, int &$return_var ]] )來用陣列儲存輸出stdout.
#方法2: os.popen
popen實際上是取得指令執行後的輸出結果,儲存在暫存檔案當中. 使用指令:
os.popen(command [, mode, bufsize])
實際原理是開啟一個與command進程之間的管道。這個函數的回傳值是一個文件對象,可以讀或寫(由mode決定,mode預設是’r')。如果mode為’r',可以使用此函數的回傳值呼叫read()來取得command指令的執行結果。
支援逐行分析如下例程式碼:
也支援 p.readlines(), for line in p等檔案處理方法.
#方法3: commands.getstatusoutput
使用指令: status, output = commands.getstatusoutput(command)
實際上使用os.popen()函數執行command指令並且傳回一個元組(status,output),分別表示command指令執行的回傳狀態和執行結果。對command的執行其實就是按照{command;} 2
以上是在Python中呼叫外部指令是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!