python 執行外部命令

 在Python環境下,執行一條外部命令一般有這麼幾個:

1、os.system(command)或者os.popen(..........)

2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)
      若置syn爲wx.EXEC_ASYNC則wx.Excute函數立即返回,若syn=wx.EXEC_SYNC則等待調用的程序結束後再返回。
      callback是一個wx.Process變量,如果callback不爲None且syn=wx.EXEC_ASYNC,則程序結束後將調用wx.Process.OnTerminate()函數。

os.system()和wx.Execute()都利用系統的shell,執行時會出現shell窗口。如在Windows下會彈出控制檯窗口,不美觀。下面的兩種方法則沒有這個缺點。

3、class subprocess.Popen
      最簡單的用法是:

      import subprocess
      subprocess.Popen(command, shell=True)

      如果command不是一個可執行文件,shell=True不可省。

前面三個方法只能用於執行程序和打開文件,不能處理URL,打開URL地址可用webbrowser模塊提供的功能。

4、webbrowser.open(url)

      調用系統缺省瀏覽器打開URL地址,如 webbrowser.open('http://www.google.com'),也可以利用
      webbrowser.open('h:\python.zip')來執行程序。這樣可以不必區分是文件名還是URL,不知道在Linux下是否可行。

以上在Windows2000,Python2.4a1,wxPython 2.5.1運行。

modify:還有一種方式:subprocess.call(*args, **kwargs)

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