我希望通過Python指令碼實現多次執行shell命令

2022-05-22 21:46:38 字數 3861 閱讀 6069

1樓:匿名使用者

用迴圈:

import os

for i in range(3):

os.system("date");

2樓:悠遊_小幽

我也遇到同樣的問題,你知道該如何解決了嗎

3樓:匿名使用者

寫一個函式,多次呼叫不行嗎?

python shell中怎麼重複執行命令

怎麼在python指令碼中實現shell命令

4樓:匿名使用者

最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,

複製** **如下:

os.system('cat /proc/cpuinfo')

但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。

嘗試第二種方案 os.popen()

複製** **如下:

output = os.popen('cat /proc/cpuinfo')

print output.read()

通過 os.popen() 返回的是 file read 的物件,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程式執行的返回值)

嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。

複製** **如下:

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')

print status, output

python document 中給的一個例子,

複製** **如下:

>>> import commands

>>> commands.getstatusoutput('ls /bin/ls')

(0, '/bin/ls')

>>> commands.getstatusoutput('cat /bin/junk')

(256, 'cat: /bin/junk: no such file or directory')

>>> commands.getstatusoutput('/bin/junk')

(256, 'sh: /bin/junk: not found')

>>> commands.getoutput('ls /bin/ls')

'/bin/ls'

>>> commands.getstatus('/bin/ls')

'-rwxr-xr-x 1 root 13352 oct 14 1994 /bin/ls'

最後頁面上還可以根據返回值來顯示命令執行結果。

如何用python互動執行shell指令碼

5樓:

「互動執行shell指令碼」是不是說代替人的手動輸入,比如sudo時輸入密碼的操作?

這種情況可以用pexpect模組。不是預設的,需要自己裝。

6樓:小男孩

使用commands模組

有三個函式:

1.commands.getstatusoutput(cmd)使用os.popen()執行命令cmd,然後返回兩個元素的元組(status, result)

cmd的執行方式是 2>&1,這樣返回結果裡面就包含了標準輸出和標準錯誤

2.commands.getoutput(cmd)只返回執行的結果,忽略返回值

3.commands.getstatus(file)

如何執行shell命令列,這樣如何執行python指令碼

7樓:匿名使用者

os.system("thecommandyouwant").這個呼叫相當直接,且是同步進行的,程式需要阻塞並等待返回。

返回值是依賴於系統的,直接返回系統的呼叫返回值,所以windows和linux是不一樣的os.popen(command[,mode[,bufsize]]),圖中是一個例子.可以看出,popen方法通過p.

read()獲取終端輸出,而且popen需要關閉close().當執行成功時,close()不返回任何值,失敗時,close()返回系統返回值.可見它獲取返回值的方式和os.

system不同。3使用commands模組,圖中是一組例子。根據你需要的不同,commands模組有三個方法可供選擇。

getstatusoutput,getoutput,getstatus。

python指令碼中怎麼呼叫shell命令

8樓:白髮小妖軍

os.system("the command you want"). 這個呼叫相當直接,且是同步進行的,程式需要阻塞並等待返回。

返回值是依賴於系統的,直接返回系統的呼叫返回值,所以windows和linux是不一樣的

os.popen(command[,mode[,bufsize]]),圖中是一個例子. 可以看出,popen方法通過p.

read()獲取終端輸出,而且popen需要關閉close().當執行成功時,close()不返回任何值,失敗時,close()返回系統返回值. 可見它獲取返回值的方式和os.

system不同。

3使用commands模組,圖中是一組例子。根據你需要的不同,commands模組有三個方法可供選擇。getstatusoutput, getoutput, getstatus。

如何使用python執行遠端shell指令碼

9樓:追憶小土豆

最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,

**如下:

os.system('cat /proc/cpuinfo')

但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。

嘗試第二種方案 os.popen()

**如下:

output = os.popen('cat /proc/cpuinfo')

print output.read()

通過 os.popen() 返回的是 file read 的物件,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程式執行的返回值)

嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。

**如下:

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')

print status, output

python document 中給的一個例子,

**如下:

>>> import commands

>>> commands.getstatusoutput('ls /bin/ls')

(0, '/bin/ls')

>>> commands.getstatusoutput('cat /bin/junk')

(256, 'cat: /bin/junk: no such file or directory')

>>> commands.getstatusoutput('/bin/junk')

(256, 'sh: /bin/junk: not found')

>>> commands.getoutput('ls /bin/ls')

'/bin/ls'

>>> commands.getstatus('/bin/ls')

'-rwxr-xr-x 1 root 13352 oct 14 1994 /bin/ls'

如何通過使用「生成指令碼嚮導」遷移資料庫

您好,很高興為您解答。1 開啟sql server management studio 2008 連線到資料庫伺服器,物件資源管理器到資料庫節點 2 選擇需要將資料匯出到指令碼的資料庫,將包含所有的儲存過程,表,檢視,表裡的資料等等。3 右擊選中的資料,按照以下路徑選擇生成指令碼嚮導 adventu...

我想了解CS1 6比賽指令碼問題

是demo 的效果!為了節省資源刪去了一部分不必要的資料!比賽是不允許任何有違規引數指令碼和其他東西!這個是demo 的緣故,但不是故意做的處理,而是比賽的這些demo是 hltv視角 錄製後本身酒這樣 沒換槍動作,並且awp看上帶準星,而且 開鏡畫面也經常看不到 不知道還以為是盲局!正規比賽不允許...

HR提問你希望通過這份工作能獲得什麼?該怎麼回答

對我來說,最重要的是自己所做的工作是否適合我。我的意思是說,這份工作應該能讓我發揮專長 這會給我帶來一種滿足感。我還希望所做的工作能夠對我目前的技能水平形成挑戰,從而能促使我提升自己。我希望通過這一份工作能磨練自己的意志,提升自己各方面實踐能力,溝通交流能力,促進自己專業的再發展從而實現自我實現的價...