Python中執行系統命令常見的幾種方法
Python中執行系統命令常見的幾種方法:
(1)os.system
# 僅僅在一個子終端執行系統命令,而不能獲取命令執行後的返回資訊
# 如果再命令列下執行,結果直接列印出來
例如:
>>> import os
>>> os.system('ls')
chk_err_log.py CmdTool.log install_log.txt install_zabbix.sh manage_deploy.sh MegaSAS.log
(2)os.popen
#該方法不但執行命令還返回執行後的資訊物件
#好處在於:將返回的結果賦於一變數,便於程式的處理。
例如:
>>> import os
>>>tmp = os.popen('ls *.sh').readlines()
>>>tmp
['install_zabbix.shn', 'manage_deploy.shn', 'mysql_setup.shn', 'python_manage_deploy.shn', 'setup.shn']
(3)使用模組subprocess
使用方法:
>>> import subprocess
>>> subprocess.call (["cmd", "arg1", "arg2"],shell=True)
好處在於:運用對執行緒的控制和監控,將返回的結果賦於一變數,便於程式的處理。
如獲取返回和輸出:
import subprocess
p = subprocess.Popen('ls *.sh', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
print p.stdout.readlines()
for line in p.stdout.readlines():
print line,
retval = p.wait()
(4) 使用模組commands模組
常用的主要有兩個方法:getoutput和getstatusoutput
>>> import commands
>>> commands.getoutput('ls *.sh')
'install_zabbix.shnmanage_deploy.shnmysql_setup.shnpython_manage_deploy.shnsetup.sh'
>>> commands.getstatusoutput('ls *.sh')
(0, 'install_zabbix.shnmanage_deploy.shnmysql_setup.shnpython_manage_deploy.shnsetup.sh')
注意: 當執行命令的引數或者返回中包含了中文文字,那麼建議使用subprocess,如果使用os.popen則會出現錯誤。
©著作權歸作者所有:來自51CTO部落格作者AIOPS_DBA的原創作品,如需轉載,請註明出處,否則將追究法律責任
s
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2820311/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python執行系統命令四種方法比較Python
- 幾種常見的延遲執行處理方式
- iOS常見的幾種加密方法iOS加密
- 在 C++ 中,實現執行緒同步主要有以下幾種常見方法C++執行緒
- Linux系統執行命令方法Linux
- Python中的常見方法Python
- 幾種常見的效能測試方法概述
- 幾種常見的Python資料結構Python資料結構
- MySQL中幾種常見的日誌MySql
- 惡意軟體開發——shellcode執行的幾種常見方式
- 常見的四種執行緒池執行緒
- 幾種常見取樣方法及原理
- 在 Ruby 中執行 Shell 命令的 6 種方法
- 在 Windows 中執行 Linux 命令的 4 種方法WindowsLinux
- 5種常見的Python拼接字串方法!Python字串
- Python-呼叫執行系統命令Python
- 在Qt中,可以透過以下幾種常見方式來啟動執行緒QT執行緒
- 幾種常見的NO SQL DBSQL
- 在共享記憶體中進行執行緒間的同步是確保多執行緒程式正確執行的關鍵,以下是幾種常見的方法記憶體執行緒
- 短視訊系統原始碼,幾種常見的單例模式原始碼單例模式
- DNS故障的幾種常見原因及解決方法DNS
- Python 執行 Linux 作業系統命令PythonLinux作業系統
- 21. 羅列常見的幾個執行時異常
- Python中清空list的幾種方法Python
- 執行緒池以及四種常見執行緒池執行緒
- 在 PowerShell 中,可以透過一些命令和指令碼來統計網路流量。以下是幾種常見的方法:指令碼
- 幾種常見的CSS佈局CSS
- 異常-Throwable的幾個常見方法
- 關於Python指令碼中執行adb命令的方法Python指令碼
- 常見的幾種IE6 BUG及其解決的方法
- Java中實現執行緒安全HashSet的幾種方法 | baeldungJava執行緒
- 事物系統的幾種異常場景
- Python中幾種lambda排序方法Python排序
- 如何使用Python執行系統命令?Python學習教程!Python
- CentOS 7系統中執行yum命令失敗問題的排查方法CentOS
- Vim常見模式有幾種?模式
- react常見幾種事件宣告React事件
- linux系統中怎麼中執行jar包?linux系統中執行jar包的方法LinuxJAR