python調用linux系統命令

網上的資料說python調用linux系統命令的方法大概有幾種方法。

os.system(command)

os.popen(command)

os.spawn(command)

subprocess.call(["cmd","arg1","arg2"],shell=True)

commands.getoutput(command)

但是從python2.4開始已經明確說明,subprocess會在後續的發展中代替其他幾個老的模塊或函數,所以我們還是趕緊習慣用subprocess,不用其他函數。

subprocess用法

<pre name="code" class="plain"><pre name="code" class="python"><pre name="code" class="python">#!/usr/bin/env python
#coding=utf-8

import subprocess
command = "ls /root"  # the shell command
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=None, shell=True)
result = process.stdout.readlines()




在運行subprocess.Popen()方法中,python實際是創建了一個子進程在執行所指定的系統命令 "ls /root",也就是說,在執行完成"ls /root"命令後,子進程會毀滅掉,

所以,在調用subprocess.Popen()方法改變的系統變量會沒有生效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章