這個方法是直接呼叫標準c的system() 函式,僅僅在乙個子終端執行系統命令,而不能獲取命令執行後的返回資訊。
import os
os.system('cat /proc/cupinfo')
該方法不但執行命令還返回執行後的資訊物件,是通過乙個管道檔案將結果返回。
output = os.popen('cat /proc/cpuinfo')
print output.read()
import commands
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status,output
注意1:在類unix的系統下使用此方法返回的返回值(status)與指令碼或命令執行之後的返回值不等,這是因為呼叫了os.wait()的緣故,具體原因就得去了解下系統wait()的實現了。需要正確的返回值(status),只需要對返回值進行右移8位操作就可以了。
注意2:當執行命令的引數或者返回中包含了中文文字,那麼建議使用subprocess。
subprocess是乙個功能強大的子程序管理模組,是替換os.system ,os.spawn* 等方法的乙個模組。
class subprocess.popen(args, bufsize=0, executable=none, stdin=none, stdout=none,
stderr=none, preexec_fn=none, close_fds=true, shell=false,
cwd=none, env=none, universal_newlines=false, startupinfo=none,
creationflags=0, restore_signals=true, start_new_session=false, pass_fds=())
有豐富的引數可以進行配置,可供我們自定義的選項多,靈活性高。之前我使用os.system的時候遇到檔案描述符被子程序繼承的問題,後來通過close_fds = false 這個引數來解決的。 Python執行系統命令的方法
最近在做那個測試框架的時候發現 python 的另乙個獲得系統執行命令的返回值和輸出的類。最開始的時候用 python 學會了 os.system 這個方法是很多比如 c,perl 相似的。os.system cat proc cpuinfo 但是這樣是無法獲得到輸出和返回值的,繼續 google,...
Python執行系統命令的方法
python中執行系統命令常見方法有兩種 兩者均需 import os 1 os.system 僅僅在乙個子終端執行系統命令,而不能獲取命令執行後的返回資訊 system command exit status execute the command a string in a subshell.如...
python執行系統命令的方法
做為系統工程師來說,經常會用到python指令碼去呼叫一下系統命令,現把經常使用的集中呼叫方法總結如下 一,os.system command 在乙個子shell中執行command命令,並返回command命令執行完畢後的退出狀態。這個函式執行命令的結果無法儲存,只能顯示在標準輸出。但是,命令執行...