Ⅰ 如何使用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'
Ⅱ 如何使用python執行遠程shell腳本
pexpect復雜,但通用靈活。另外一種法就是ssh-keygen/ssh--id,實現自動密鑰驗證取代手動密碼驗證,然後就可以直接調用遠程『[email protected]』,麻煩之處在於要手動創建與維護兩台機器間的公鑰。至於捕獲輸出,還是要變通一點,既然B都登陸到A了,那麼通過臨時文件向A輸出內容不是更簡單嗎,這是shell編程中簡單有效的法。還可以使用sftp
Ⅲ 如何使用python腳本調用adb shell裡面的命令
python調用Shell腳本,有兩種方法:os.system(cmd)或os.popen(cmd),前者返回值是腳本的退出狀態碼,後者的返回值是腳本執行過程中的輸出內容。實際使用時視需求情況而選擇。
現假定有一個shell腳本
test.sh:
#!/bin/bash
echo "hello world!"
exit 3
Ⅳ 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教程請關注環球青藤其它相關文章!
Ⅳ python怎麼調用shell腳本
直接使用python 後面跟python腳本的文件名就可以
例如:python tr.py就是在shell中執行pr.py這個python腳本,見下圖:
Ⅵ 如何在bash中調用python腳本
bash會帶上一些環境變數過去。 如果你本身環境變數配置的好。也可以不用這么做,直接用python執行腳本,
如果python腳本本身第一行是#!/user/bin/python,而且屬性是777那麼,也可以直接執行這個腳本。
不過你在進程查看里會發現。它其實還是通過shell這個系統界面調用的python再調用的腳本。
Ⅶ 在Linux 系統管理中 Python腳本 可以完全代替 Bash腳本 嗎
shell腳本只是一種簡單的語言,通常用來寫一些系統維護和實用工具,比如批量檢索文件這樣的操作,它的功能主要依靠在shell腳本中啟動其它獨立的程序來完成,比如find、grep等Linux常用程序。而Python是一種完全的現代編程語言及環境(如支持面向對象編程),從功能上講它可以完成上述的shell腳本的所有功能,但更重要的是python用於科學計算、網路伺服器應用等復雜應用中
Ⅷ 在Linux 系統管理中 Python腳本 可以完全代替 Bash腳本 嗎
這個要分怎麼說。
Bash能實現的功能,Python完全可以實現,運行效率方面,Bash不高,
Python雖然也不高但不會比
Bash慢。
所以如果是自己來用的話,可以完全代替Bash。
但是,操作系統中Bash還有大量的已經在用的腳本代碼,短時間內不可能完全被代替,所以從這個角度,不能被Python完全代替。