亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

網(wǎng)頁設(shè)計

python執(zhí)行外部程序的常用方法小結(jié)

時間:2024-07-18 17:39:32 網(wǎng)頁設(shè)計 我要投稿
  • 相關(guān)推薦

python執(zhí)行外部程序的常用方法小結(jié)

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

  本文實例總結(jié)了python執(zhí)行外部程序的常用方法。分享給大家供大家參考。具體分析如下:

  在python中我們可以通過下面的方法直接調(diào)用系統(tǒng)命令或者外部程序,使用方便

  1、os模塊的execl方法

  Python的execl系統(tǒng)方法同Unix的exec系統(tǒng)調(diào)用是一致的。這些方法適用于在子進程中調(diào)用外部程序的情況,因為外部程序會替換當(dāng)前進程的代碼,不會返回。

  也就是說,這個shell進程被占領(lǐng),將執(zhí)行第一個execl的命令程序而不再返回。

  2、使用os模塊的system方法

  system方法會創(chuàng)建子進程運行外部程序,方法只返回外部程序的運行結(jié)果。這個方法比較適用于外部程序沒有輸出結(jié)果的情況。比如在Ubuntu下,使用下面命令在桌面上顯示一條提示信息。

  根據(jù)我的實驗,用system方法調(diào)用的進程正常結(jié)束返回0,異常結(jié)束返回非0,而不取決于進程主函數(shù)的返回值。

  3、使用os模塊的popen方法

  當(dāng)需要得到外部程序的輸出結(jié)果時,本方法非常有用。比如使用urllib調(diào)用Web API時,需要對得到的數(shù)據(jù)進行處理。一個使用例子如下:

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  cmd = "ssh search47c.cm2 "" + query + """

  #print cmd + "<br>"

  output = os.popen(cmd)

  #對特殊字符進行轉(zhuǎn)義

  temp1 = output.read().replace('<','<')

  temp2 = temp1.replace('>', ">")

  temp3 = temp2.replace('n', "<br>")

  print temp3.replace('/', "/")

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

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

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

【python執(zhí)行外部程序的常用方法小結(jié)】相關(guān)文章:

python執(zhí)行外部程序的常用方法10-16

Python中下劃線的方法07-06

python將數(shù)據(jù)插入到mongodb的方法介紹06-01

Python中子類怎樣調(diào)用父類方法09-04

php調(diào)用外部shell的方法總結(jié)10-03

Python中下劃線的使用方法10-02

php防盜鏈的常用方法小結(jié)08-24

Python獲取IP地址的三種方法09-29

Python求兩個list差集的方法10-07

分析Python中下劃線的使用方法10-10