如何使用Python執行系統命令方法?老男孩IT教育

來源:互聯網
上載者:User

標籤:Python培訓   Python開發   Python學習   

如何使用Python執行系統命令方法?老男孩IT教育

  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

  ... ...

  >>>

  以上是列舉的python執行系統命令的方法,如果需要這方面的操作,可以參考一下!

如何使用Python執行系統命令方法?老男孩IT教育

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.