91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中如何使用shell

發布時間:2020-07-29 09:05:41 來源:億速云 閱讀:227 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了python中如何使用shell,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

os.system

system方法會創建子進程運行外部程序,方法只返回外部程序的運行結果。這個方法比較適用于外部程序沒有輸出結果的情況。

import os
os.system('ls')

commands.getstatusoutput

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

  • commands.getstatusoutput(cmd) 返回(status, output)
  • commands.getoutput(cmd) 只返回輸出結果
  • commands.getstatus(file) 返回ls -ld file的執行結果字符串,調用了getoutput,不建議使用此方法

當需要得到外部程序的輸出結果時,本方法非常有用。比如使用urllib調用Web API時,需要對得到的數據進行處理。os.popen(cmd) 要得到命令的輸出內容,只需再調用下read()或readlines()等 如a=os.popen(cmd).read()

import os
ls = os.popen('ls')
print ls.read()

commands.getstatusoutput

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

  • commands.getstatusoutput(cmd) 返回(status, output)
  • commands.getoutput(cmd) 只返回輸出結果
  • commands.getstatus(file) 返回ls -ld file的執行結果字符串,調用了getoutput,不建議使用此方法
import commands
commands.getstatusoutput('ls -lt')   # 返回(status, output)

subprocess.call

根據Python官方文檔說明,subprocess模塊用于取代上面這些模塊。有一個用Python實現的并行ssh工具—mssh,代碼很簡短,不過很有意思,它在線程中調用subprocess啟動子進程來干活。

from subprocess import call
call(["ls", "-l"])
import shlex, subprocess
def shell_command(cmd, timeout) :
  data = {"rc":False, "timeout":False, "stdout":"", "stderr":""}
  try :
    process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    try:
      outs, errs = process.communicate(timeout=timeout)
      data["stdout"] = outs.decode("utf-8") 
      data["stderr"] = errs.decode("utf-8") 
      data["rc"] = True

    except subprocess.TimeoutExpired :
      process.kill()
      outs, errs = process.communicate()
      data["rc"] = False 
      data["stdout"] = outs.decode("utf-8") 
      data["stderr"] = "timeout"
      data["timeout"] = True 

  except Exception as e :
    data["rc"] = False 
    data["stderr"] = e 

  finally : 
    return data 

以上就是關于python中如何使用shell的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高尔夫| 宜城市| 盐亭县| 承德县| 巴彦淖尔市| 东兰县| 泗洪县| 沙田区| 黄石市| 尉犁县| 林州市| 民勤县| 额尔古纳市| 苍溪县| 林芝县| 丰镇市| 诏安县| 东阿县| 紫金县| 河源市| 临颍县| 温州市| 临沭县| 宁国市| 德惠市| 五寨县| 荃湾区| 咸丰县| 交城县| 黄龙县| 广昌县| 乌审旗| 通山县| 富平县| 永嘉县| 邻水| 呼玛县| 家居| 新干县| 若尔盖县| 淮南市|