python執行外部程式的常用方法小結
文章主要介紹了python執行外部程式的常用方法,例項總結了Python使用os模組及commands模組執行外部程式的技巧,非常具有實用價值,需要的朋友可以參考下。
本文例項總結了python執行外部程式的常用方法。分享給大家供大家參考。具體分析如下:
在python中我們可以通過下面的方法直接呼叫系統命令或者外部程式,使用方便
1、os模組的execl方法
Python的execl系統方法同Unix的exec系統呼叫是一致的。這些方法適用於在子程序中呼叫外部程式的情況,因為外部程式會替換當前程序的程式碼,不會返回。
也就是說,這個shell程序被佔領,將執行第一個execl的`命令程式而不再返回。
2、使用os模組的system方法
system方法會建立子程序執行外部程式,方法只返回外部程式的執行結果。這個方法比較適用於外部程式沒有輸出結果的情況。比如在Ubuntu下,使用下面命令在桌面上顯示一條提示資訊。
根據我的實驗,用system方法呼叫的程序正常結束返回0,異常結束返回非0,而不取決於程序主函式的返回值。
3、使用os模組的popen方法
當需要得到外部程式的輸出結果時,本方法非常有用。比如使用urllib呼叫Web API時,需要對得到的資料進行處理。一個使用例子如下:
?
1
2
3
4
5
6
7
8
cmd = "ssh 2 "" + query + """
#print cmd + "<br>"
output = n(cmd)
#對特殊字元進行轉義
temp1 = ()ace('<','<')
temp2 = ace('>', ">")
temp3 = ace('n', "<br>")
print ace('/', "/")
4、使用commands模組的getoutput方法(沒用過)
這種方法同popend的區別在於popen返回的是一個檔案控制代碼,而本方法將外部程式的輸出結果當作字串返回,很多情況下用起來要更方便些。
希望本文所述對大家的Python程式設計有所幫助。