更多程式設計教程請到:菜鳥教程
高州陽光論壇
人人影視
os.system
system方法會建立子程序執行外部程式,方法只返回外部程式的執行結果。這個方法比較適用於外部程式沒有輸出結果的情況。
import osos.system('ls')
commands.getstatusoutput
使用commands模組的getoutput方法,這種方法同popend的區別在於popen返回的是乙個檔案控制代碼,而本方法將外部程式的輸出結果當作字串返回,很多情況下用起來要更方便些。
主要方法:
當需要得到外部程式的輸出結果時,本方法非常有用。比如使用urllib呼叫web api時,需要對得到的資料進行處理。os.popen(cmd) 要得到命令的輸出內容,只需再呼叫下read()或readlines()等 如a=os.popen(cmd).read()
import osls = os.popen('ls')
print ls.read()
commands.getstatusoutput
使用commands模組的getoutput方法,這種方法同popend的區別在於popen返回的是乙個檔案控制代碼,而本方法將外部程式的輸出結果當作字串返回,很多情況下用起來要更方便些。
主要方法:
import commandscommands.getstatusoutput('ls -lt') # 返回(status, output)
subprocess.call
from subprocess import callcall(["ls", "-l"])
import shlex, subprocessdef shell_command(cmd, timeout) :
data =
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
shell中執行python檔案
python中想在shell中呼叫乙個test.py檔案裡面的方法。test.py檔案裡面的內容如下 python view plain copy print?deflistfea print this is myself deflistfeat fea print this is fea defl...
Python指令碼中執行shell命令
system 其中最後乙個0是這個命令的返回值,為0表示命令執行成功。使用system無法將執行的結果儲存起來。這裡寫描述popen 獲取命令執行的結果,但是沒有命令的執行狀態,這樣可以將獲取的結果儲存起來放到list中。commands 可以很方便的取得命令的輸出 包括標準和錯誤輸出 和執行狀態位...
python執行shell命令
在此比較一下兩種方法執行系統命令的方法,以方便於日後運用 1.os.system system command exit status execute the command a string in a subshell.僅僅在乙個子終端執行系統命令,而不能獲取命令執行後的返回資訊.os.syste...