在此比較一下兩種方法執行系統命令的方法,以方便於日後運用:(
1. os.system()
system(command) -> exit_status
execute the command (a string) in a subshell.
# 僅僅在乙個子終端執行系統命令,而不能獲取命令執行後的返回資訊..
>>> os.system('ls') #如果再命令列下執行,結果直接列印出來
04101419778.chm bash document media py-django video
11.wmv books downloads pictures python
all-20061022 desktop examples project tools
2.os.popen()
popen(command [, mode='r' [, bufsize]]) -> pipe
open a pipe to/from a command returning a file object.
# 此種方法不但執行命令還返回執行後的資訊物件
>>>tmp = os.popen('ls *.py').readlines()
>>>tmp
out[21]:
['dump_db_pickle.py\n',
'dump_db_pickle_recs.py\n',
'dump_db_shelve.py\n',
'initdata.py\n',
'__init__.py\n',
'make_db_pickle.py\n',
'make_db_pickle_recs.py\n',
'make_db_shelve.py\n',
'peopleinteract_query.py\n',
'reader.py\n',
'testargv.py\n',
'teststreams.py\n',
'update_db_pickle.py\n',
'writer.py\n']
將返回的結果賦於一變數,便於程式的處理.
總結兩者可知,根據不同的用途,可以合理的呼叫不同的方法來進行。。。
**:
python的執行shell命令
os.system cat proc cpuinfo 返回的是執行的結果,1或者是其他 output os.popen cat proc cpuinfo print output.read 通過 os.popen 返回的是 file read 的物件,對其進行讀取 read 的操作可以看到執行的輸出...
python執行shell命令的方法
import os os.system top os.system cat proc cpuinfo 說明 這個呼叫相當直接,且是同步進行的,程式需要阻塞並等待返回。返回值是依賴於系統的,直接返回系統的呼叫返回值,所以windows和linux是不一樣的。強調的一點是,不支援引數,不支援管道impo...
Python指令碼中執行shell命令
system 其中最後乙個0是這個命令的返回值,為0表示命令執行成功。使用system無法將執行的結果儲存起來。這裡寫描述popen 獲取命令執行的結果,但是沒有命令的執行狀態,這樣可以將獲取的結果儲存起來放到list中。commands 可以很方便的取得命令的輸出 包括標準和錯誤輸出 和執行狀態位...