如何用Python呼叫系統命令呢?常用方法!
移動網際網路技術的快速發展,為各大行業都提供了發展機遇,在市場的影響之下,Python語言變得更加火爆,滲透到各大領域,現在很多開發工作都會使用到Python,不過進行Python開發搭建框架的時候,往往需要命令進行操作,那麼你知道如何用Python呼叫系統命令嗎?小編為大家介紹一下。
1. os.system()
這個方法直接呼叫標準C的system()函式,僅僅在一個子終端執行系統命令,而不能獲取執行返回的資訊。
>>> import os
>>> output = os.system(‘cat /proc/cpuinfo‘)
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>> output # doesn‘t capture output
0
2. os.popen()
這個方法執行命令並返回執行後的資訊物件,是透過一個管道檔案將結果返回。
>>> output = os.popen(‘cat /proc/cpuinfo‘)
>>> output
>>> print output.read()
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>>
3. commands模組
>>> import commands
>>> (status, output) = commands.getstatusoutput(‘cat /proc/cpuinfo‘)
>>> print output
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>> print status
0
注意1:在類unix的系統下使用此方法返回的返回值(status)與指令碼或命令執行之後的返回值不等,這是因為呼叫了os.wait()的緣故,具體原因就得去了解下系統wait()的實現了。需要正確的返回值(status),只需要對返回值進行右移8位操作就可以了。
注意2:當執行命令的引數或者返回中包含了中文文字,那麼建議使用subprocess。
4. subprocess模組
該模組是一個功能強大的子程式管理模組,是替換os.system, os.spawn*等方法的一個模組。
>>> import subprocess
>>> subprocess.Popen(["ls", "-l"]) # python2.x doesn‘t capture output
>>> subprocess.run(["ls", "-l"]) # python3.x doesn‘t capture output
>>> total 68
drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents
drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads
... ...
>>>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2754438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python-呼叫執行系統命令Python
- C#如何用最簡單方法呼叫Python?C#Python
- Linux常用系統命令Linux
- Linux常用系統管理命令Linux
- linux常用命令解析三(常用系統工作命令cal)Linux
- Linux系統常用命令Linux
- 核心函式 系統呼叫 系統命令 庫函式函式
- python執行系統命令四種方法比較Python
- 系統移植——uboot常用命令boot
- Linux系統管理-常用命令Linux
- 恆訊科技教您如何用Linux系統用命令刪除一個檔案或者目錄呢?Linux
- 測試開發之系統篇-常用系統命令
- 如何用反射呼叫泛型類的方法反射泛型
- Linux系統磁碟和分割槽有哪些命令呢?Linux
- Python中執行系統命令常見的幾種方法Python
- CentOS 系統常用命令詳解CentOS
- DBA常用系統監控命令(之一)
- Python 常用系統模組整理Python
- Linux系統執行命令方法Linux
- python 系統函式呼叫sed分組Python函式
- Linux中監控系統效能常用的命令!Linux
- Linux系統常用命令速查手冊Linux
- Linux(六):系統運維常用命令Linux運維
- Python基礎:常用系統模組Python
- Linux系統常用的版本有哪些?有何區別呢?Linux
- 如何用python3輸出dos命令?Python
- 生物資訊學中常用的linux系統命令Linux
- Linux系統中firewalld防火牆常用的操作命令Linux防火牆
- Linux系統中常用的檔案檢視命令Linux
- Liunx運維(十二)-Liunx系統常用內建命令運維
- Solaris系統與Linux系統常用命令的區別介紹Linux
- C#呼叫python的方法C#Python
- iOS 常用除錯方法:LLDB命令iOS除錯LLDB
- Python 執行 Linux 作業系統命令PythonLinux作業系統
- Python量化交易系統實戰_Python常用庫介紹Python
- Windows 系統呼叫Windows
- MySQL全面瓦解2:常用命令和系統管理MySql
- Linux中常用的檢視系統資訊的命令Linux