摘要:執(zhí)行命令的方法模塊方式說明這個調(diào)用相當(dāng)直接,且是同步進行的,程序需要阻塞并等待返回。返回值是依賴于系統(tǒng)的,直接返回系統(tǒng)的調(diào)用返回值,所以和是不一樣的。并能夠獲得新建進程運行的返回狀態(tài)。使用模塊的目的是替代等舊的函數(shù)或模塊。
python執(zhí)行shell命令的方法 os模塊
os.system方式:
import os os.system("top") os.system("cat /proc/cpuinfo")
說明
這個調(diào)用相當(dāng)直接,且是同步進行的,程序需要阻塞并等待返回。
返回值是依賴于系統(tǒng)的,直接返回系統(tǒng)的調(diào)用返回值,所以windows和linux是不一樣的。
強調(diào)的一點是,不支持參數(shù),不支持管道
os.open方式:
import os output = os.popen("df") print output.read() #如果命令自身無報錯,則返回正確的值
說明
popen方法通過p.read()獲取終端輸出,而且popen需要關(guān)閉close().commands模塊
當(dāng)執(zhí)行成功時,close()不返回任何值,失敗時,close()返回系統(tǒng)返回值..
可見它獲取返回值的方式和os.system不同
強調(diào)的一點是,不支持參數(shù),不支持管道
使用commands模塊的getoutput方法,這種方法同popend的區(qū)別在于popen返回的是一個文件句柄,而本方法將外部程序的輸出結(jié)果當(dāng)作字符串返回,很多情況下用起來要更方便些。
主要方法:
commands.getstatusoutput(cmd) 返回(status, output)
commands.getoutput(cmd) 只返回輸出結(jié)果
commands.getstatus(file) 返回ls -ld file的執(zhí)行結(jié)果字符串,調(diào)用了getoutput,不建議使用此方法
a = commands.getoutput("ps -ef ") b = commands.getstatusoutput("vmstat")subprocess模塊
說明
使用subprocess模塊能夠創(chuàng)建新的進程。
能夠與新建進程的輸入/輸出/錯誤管道連通。
并能夠獲得新建進程運行的返回狀態(tài)。
使用subprocess模塊的目的是替代os.system()、os.popen()、commands.等舊的函數(shù)或模塊。
subprocess.call(["some_command","some_argument","another_argument_or_path")
from subprocess import call call(["ls","-l","/boot","/sys"]) # call("ls -a /",shell=True)
subprocess.Popen(command,shell=True)
subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)參考博客
https://blog.csdn.net/longerz...
https://python.freelycode.com...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/41854.html
摘要:文本編輯器編輯器的三種模式命令模式末行模式和編輯模式命令模式控制光標(biāo)移動,可對文本進行復(fù)制粘貼刪除和查找等工作。表示從環(huán)境變量中查找解釋器的位置,再調(diào)用該路徑下的解釋器來執(zhí)行腳本。 Vim 文本編輯器 Vim 編輯器的三種模式——命令模式、末行模式和編輯模式 命令模式:控制光標(biāo)移動,可對文本進行復(fù)制、粘貼、刪除和查找等工作。 輸入模式:正常的文本錄入。 末行模式:保存或退出文檔,以及...
摘要:文本編輯器編輯器的三種模式命令模式末行模式和編輯模式命令模式控制光標(biāo)移動,可對文本進行復(fù)制粘貼刪除和查找等工作。表示從環(huán)境變量中查找解釋器的位置,再調(diào)用該路徑下的解釋器來執(zhí)行腳本。 Vim 文本編輯器 Vim 編輯器的三種模式——命令模式、末行模式和編輯模式 命令模式:控制光標(biāo)移動,可對文本進行復(fù)制、粘貼、刪除和查找等工作。 輸入模式:正常的文本錄入。 末行模式:保存或退出文檔,以及...
摘要:所以,應(yīng)該直接了當(dāng)?shù)陌惭b,其中也會自動安裝上,作為其運行的。這只是一開始,之后還有里各種找不到外部安裝的的情況。終于,意識到這些方法都是錯誤的思路。這才知道原來是無法識別。 為什么要用IPython/Jupyter? python里面調(diào)試確實有點煩惱,尤其是在vim里,想要嘗試一些簡單的編碼問題,實在是有點麻煩,不想到命令行模式一行一行執(zhí)行,也不想再新建一個文件測試一個簡單的功能。 而...
閱讀 2416·2021-11-11 11:01
閱讀 3287·2021-10-11 10:57
閱讀 2645·2021-09-30 09:46
閱讀 3492·2021-07-26 23:38
閱讀 1564·2019-08-29 12:22
閱讀 650·2019-08-29 11:28
閱讀 2352·2019-08-26 14:04
閱讀 3050·2019-08-23 18:34