萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> 腳本Html教程 >> python執行外部程序的常用方法小結

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 search47c.cm2 "" + query + """ #print cmd + "<br>" output = os.popen(cmd) #對特殊字符進行轉義 temp1 = output.read().replace('<','<') temp2 = temp1.replace('>', ">") temp3 = temp2.replace('n', "<br>") print temp3.replace('/', "/")

4、使用commands模塊的getoutput方法(沒用過)

這種方法同popend的區別在於popen返回的是一個文件句柄,而本方法將外部程序的輸出結果當作字符串返回,很多情況下用起來要更方便些。

希望本文所述對大家的Python程序設計有所幫助。

copyright © 萬盛學電腦網 all rights reserved