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程序設計有所幫助。
-
JavaScript數組去重的四種方法
javascript數組去重方法彙總ue1=function(){varn=[];//一個新的臨時數組for(vari=0;i<th;i++)//遍歷當前數組{//如果當前數組的第i已經保存進了臨時數組,那麼跳過,//否則把當前項push到臨時數組裏面if(xOf(this[i])==-1)(this[i]);}returnn;};ue2=function(){var...
-
css經典教程
css經典教程1有些習慣顯得尤為重要,今天與您分享六個CSS習慣。因為習慣其實是會變的,所以只能寫“最近”的。這些習慣都跟技術無關,如果不遵守,也不會出錯。但是我覺得良好的習慣會體現一個人的素質。我們在中向大家介紹過很多CSS經驗與技巧,這些東西都發布在/css/...
-
javascript操作select元素案例分析
本文實例講述了javascript操作select元素的.用法。分享給大家供大家參考。具體分析如下:這裏熟悉一下js對select元素的操作,html頁面中建立一個form,其中包含一個select元素和submit按鈕。當選擇select中某一項時改變其文字,當select中所有項的文字都改變後,重新恢...
-
JavaScript的課堂講解
本文主要內容:1.分析函數的四種調用形式2.弄清楚函數中this的意義3.明確構造函對象的過程4.學會使用上下文調用函數一、函數調用形式函數調用形式是最常見的形式,也是最好理解的形式。所謂函數形式就是一般聲明函數後直接調用即是。例如:複製代碼代碼如下://聲明...