Python執行linux系統命令,即在Python腳本中調用Shell命令,具體有以下四種方法:
1、os.system
//僅僅在一個子終端運行系統命令,而不能獲取命令執行後的返回信息
system(command)->exit_status
Executethecommand(astring)inasubshell.
//如果再命令行下執行,結果直接列印出來:
>>>os.system('ls')
04101419778.CHMbashdocumentmediapy-djangovideo
11.
all-
2、os.popen
//該方法不但執行命令還返回執行後的信息對象
popen(command[,mode='r'[,bufsize]])->pipe
Openapipeto/.
3、使用模塊 subprocess
>>>importsubprocess
>>>subprocess.call(["cmd","arg1","arg2"],shell=True)
//獲取返回和輸出:
importsubprocess
p=subprocess.Popen('ls',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
forlineinp.stdout.readlines():
printline,
retval=p.wait()
4、使用模塊 commands
>>>importcommands
>>>dir(commands)
['__all__','__builtins__','__doc__','__file__','__name__','getoutput','getstatus','getstatusoutput','mk2arg','mkarg']
>>>commands.getoutput("date")
'WedJun1019:39:57CST2009'
>>>
>>>commands.getstatusoutput("date")
(0,'WedJun1019:40:41CST2009')
B. 如何用python shell運行.py文件
在Python
shell界面,輸入.py文件,單擊「run」來執行代碼,再回到shell界面,輸入代碼,就可以運行.py文件了。
具體步驟:
打開Python
shell界面。
2.編寫一個.py文件,將文件名保存成「TempConvert」。
3.單擊「run」-「run
mole」來執行代碼。
4.回到shell界面中,輸入一下代碼,基本格式是:import
腳本文件名。
5.這樣就可以運行代碼了。
C. 如何進入python shell
Windows啟動Python互動式解釋器有兩種方式。第一種方式是進入Pyhton的安裝目錄,直接運行python.exe程序;第二種方式是進入Windows命令行窗口,在命令行窗口啟動python.exe。步驟如下:
1、第一步 找到python.exe文件:
注意事項:
1、在Windows命令行窗口啟動Python互動式解釋器,首先需要將Python安裝目錄的路徑,添加到Path系統環境變數
2、可以啟動Python交互解釋器進行互動式編程,也可以用Python自帶的集成開發工具編寫Python程序
D. python怎麼執行shell命令
工具/原料
Python環境
方法/步驟
os.system("The command you want"). 這個調用相當直接,且是同步進行的,程序需要阻塞並等待返回。返回值是依賴於系統的,直接返回系統的調用返回值,所以windows和linux是不一樣的
os.popen(command[,mode[,bufsize]]),
圖中是一個例子.
可以看出,popen方法通過p.read()獲取終端輸出,而且popen需要關閉close().當執行成功時,close()不返回任何值,失敗
時,close()返回系統返回值. 可見它獲取返回值的方式和os.system不同。
使用commands模塊,圖中是一組例子。根據你需要的不同,commands模塊有三個方法可供選擇。getstatusoutput, getoutput, getstatus。
但是,如上三個方法都不是Python推薦的方法,而且在Python3中其中兩個已經消失。Python文檔中目前全力推薦第四個方法,subprocess! subprocess使用起來同樣簡單:
直
接調用命令,返回值即是系統返回。shell=True表示命令最終在shell中運行。Python文檔中出於安全考慮,不建議使用
shell=True。建議使用Python庫來代替shell命令,或使用pipe的一些功能做一些轉義。官方的出發點是好的,不過真心麻煩了很多,
so.... 如果你更關注命令的終端輸出,可以如下圖這樣操作, 同樣很簡單.
E. 在python 中怎麼調用shell命令
你可以使用下面的方法:
importos
os.system("ls")
如果解決了您的問題請採納!
如果未解決請繼續追問!
F. python中怎麼運行shell腳本
python中怎麼運行shell腳本?
system()
其中最後一個0是這個命令的返回值,為0表示命令執行成功。使用system無法將執行的結果保存起來。
popen()
獲取命令執行的結果,但是沒有命令的執行狀態,這樣可以將獲取的結果保存起來放到pst中。
commands
可以很方便的取得命令的輸出(包括標准和錯誤輸出)和執行狀態位。
commands.getoutput('ls')這個方法只返回執行結果result不返回狀態。
在python中調用shell腳本
hello.sh
下面的512是返回的狀態碼,如果eixt 0時則返回的是0.
shell腳本使用python腳本的參數
寫一個hello.sh腳本,需要傳入兩個參數:
執行結果如下:
在python腳本中調用shell腳本,並傳入參數,注意參數前後要有空格
執行python腳本
相關推薦:《Python教程》以上就是小編分享的關於python中怎麼運行shell腳本的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
G. Python Shell 怎樣清屏
PythonShell中清屏一般有兩種方法。
1、使用os模塊
上圖是linux上的示例,按下回車鍵後,馬上清除所有顯示內容。
2、使用subprocess模塊
上圖是linux上的示例,按下回車鍵後,馬上清除所有顯示內容。
H. python shell怎麼使用
Python 中執行 Shell 命令有多種方法,stackoverflow 上有對這些方法進行比較的討論,Calling an external command in Python 指出使用subprocess模塊來實現更優。因此,本文說明如何使用subprocess模塊來實現 Shell 腳本的功能。
subprocess模塊提供多種方法來實現執行 Linux 的命令,例如subprocess.call()方法,subprocess.check_call()方法,等。這些方法都是對Popen類的封裝,故本文著重講述Popen類的使用。
執行 Shell 命令
可以通過向Popen()傳遞需要執行的命令來創建一個Popen對象,這樣,便會創建一個子進程來執行命令。例如:
child = subprocess.Popen(["ping","-c","5","leehao.me"])
1
上面的代碼會創建一個子進程來執行ping -c 5 leehao.me命令,這個命令採用列表的形式傳遞給Popen()方法。如果我們想直接採用ping -c 5 leehao.me字元串形式,可以添加shell=True來實現:
child = subprocess.Popen("ping -c 5 leehao.me", shell=True)
1
官方文檔指出由於安全原因故不建議使用shell=True,詳細說明可以參考官方文檔的描述。
等待子進程執行
子進程執行命令後,主進程並不會等待子進程執行。為了讓主進程等待子進程執行結束,需要顯示調用Popen.wait()方法。例如:
child = subprocess.Popen(["ping","-c","5","leehao.me"])
child.wait()
print 'parent finish'
1
2
3
這樣,主進程會等待子進程執行ping命令完畢後,才會列印出parent finish的輸出。
獲取執行結果
為了獲取Popen()子進程的輸出,可以使用Popen.communicate()方法,例如:
def subprocess_cmd(command):
process = subprocess.Popen(command,stdout=subprocess.PIPE, shell=True)
proc_stdout = process.communicate()[0].strip()
print proc_stdout
subprocess_cmd('echo leehao.me; echo www.leehao.me')
1
2
3
4
5
6
輸出:
leehao.me
www.leehao.me
process.communicate()方法可以實現主進程與子進程的通信。主進程可以通過它向子進程發送數據,也可以讀取子進程的輸出的數據。上面的例子中,我們在創建Popen對象時指定stdout=subprocess.PIPE,這樣主進程便可以讀取子進程的輸出。
communicate()方法返回一個元組:(stdoutdata, stderrdata),process.communicate()[0]即獲取子進程的標准輸出。
需要指出的是,調用communicate()方法後,主進程也會等待子進程執行完畢。
上面的例子中,子進程向標准輸出列印兩個字元串,主進程接收到了這些輸出,並列印出來。
I. python shell怎麼運行
最近有個需求就是頁面上執行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'
J. 如何在Python shell界面中執行編寫好的.py文件
方法/步驟
1
打開我們的Python shell界面,如圖所示。
2
編寫一個.py文件,相信用到這個技巧的小夥伴們已經會建立工程了吧,這里建立了一個溫度單位轉換腳本。將文件名保存成「TempConvert」。
3
常規的執行方法,我們通常會單擊「run」-「run mole」來實現我們的代碼執行。
4
回到界面shell界面中,我們輸入一下代碼:
import TempConvert
其基本格式是:import 腳本文件名
注意我們的腳本文件要和Python.exe放在同一個目錄下啊。
多圖
5
這樣我們就可以執行我們的代碼了,如下我們剛才腳本的實現效果是杠桿地。
注意我們的腳本的目錄一定保存正確。