糯米文學吧

位置:首頁 > 設計 > 網頁設計

python執行外部程序的常用方法小結

文章主要介紹了python執行外部程序的常用方法,實例總結了Python使用os模塊及commands模塊執行外部程序的技巧,非常具有實用價值,需要的朋友可以參考下。

python執行外部程序的常用方法小結

本文實例總結了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程序設計有所幫助。

標籤:Python 小結 執行