用python呼叫系統命令並獲得返回

2021-09-20 23:04:24 字數 961 閱讀 1582

目的:有時候需要一些系統的資訊或者執行不是python的檔案,這時候需要通過os模組呼叫它們。

環境:windows 7  python 3.5.3

情景:1)我通過python處理生成乙個系統可以直接執行的檔案,如bat批處理,需要執行它;

2)我對批處理比較熟悉,想要在python執行命令並獲得它的返回資訊。

這兩種情況都需要匯入os模組:

第一種情況:

os.open(file, flags[, mode]);

可以開啟系統中的檔案,引數如下:

mode --  類似 chmod() , 這個引數在linux中常用,預設0777

返回新開啟檔案的描述符。

這裡舉兩個例子:

第一種情況:

類似open()操作文字檔案

1

2

with os.open('test.txt', os.o_rdwr|os.o_creat) as f:

os.write(f,'this is a test.')

恩,就是這樣,用起來感覺比open()麻煩(私鏈)。

第二種情況:

os.popen(command[, mode[, bufsize]])

我想獲得當前的使用者名稱:

在windows 中 echo %username% 可以輸出當前的使用者名稱

1

user=os.popen(' echo %username%').read()

恩,就是這樣,組合使用感覺還不錯。

python 呼叫系統命令

使用 os.system 呼叫系統命令 程式中無法獲得到輸出和返回值 import os os.system ls l proc cpuinfo os.system ls l proc cpuinfo r r r 1 root root 0 3月 29 16 53 proc cpuinfo 0使用 ...

python呼叫系統命令

1.os.system 例如 os.system ls 如果在命令列下執行,結果直接列印出來 裡面的引數即為dos命令。這樣的話是不能將得到的東西顯示出來的。但是如果是執行一些其他的操作dos操作的話應該可以實現的。2.為了能夠得到返回的結果集可以這樣來處理的 os.popen popen comm...

python 呼叫系統命令

僅僅在乙個子終端執行系統命令,而不能獲取命令執行後的返回資訊 如果再命令列下執行,結果直接列印出來 例如 import os os.system ls 輸出結果 chk err log.py cmdtool.log install log.txt install zabbix.sh manage d...