国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>學(xué)習(xí)電腦>電腦安全>系統(tǒng)安全>

    Python怎么調(diào)用系統(tǒng)命令

    時(shí)間: 黎正888 分享

      Python經(jīng)常被稱作“膠水語言”,因?yàn)樗軌蜉p易地操作其他程序,輕易地包裝使用其他語言編寫的庫。在Python/wxPython環(huán)境下,執(zhí)行外部命令或者說在Python程序中啟動(dòng)另一個(gè)程序的方法,下面就讓學(xué)習(xí)啦小編教大家Python怎么調(diào)用系統(tǒng)命令。

      Python調(diào)用系統(tǒng)命令的方法

      1、os.system(command)

      os.system()函數(shù)用來運(yùn)行shell命令。此命令可以方便的調(diào)用或執(zhí)行其他腳本和命令

      #打開指定的文件 >>>os.system('notepad *.txt')

      這個(gè)調(diào)用相當(dāng)直接,且是同步進(jìn)行的,程序需要阻塞并等待返回。返回值是依賴于系統(tǒng)的,直接返回系統(tǒng)的調(diào)用返回值,所以windows和Linux是不一樣的。

      2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)

      若置syn為wx.EXEC_ASYNC則wx.Excute函數(shù)立即返回,若syn=wx.EXEC_SYNC則等待調(diào)用的程序結(jié)束后再返回。

      callback是一個(gè)wx.Process變量,如果callback不為None且syn=wx.EXEC_ASYNC,則程序結(jié)束后將調(diào)用wx.Process.OnTerminate()函數(shù)。

      os.system()和wx.Execute()都利用系統(tǒng)的shell,執(zhí)行時(shí)會(huì)出現(xiàn)shell窗口。如在Windows下會(huì)彈出控制臺(tái)窗口,不美觀。下面的兩種方法則沒有這個(gè)缺點(diǎn)。

      3、import subprocess

      subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)

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

      Note:

      1. 參數(shù)args可以是字符串或者序列類型(如:list,元組),用于指定進(jìn)程的可執(zhí)行文件及其參數(shù)。

      2. 如果command(args)不是一個(gè)可執(zhí)行文件,shell=True不可省。否則如copy\del命令可能會(huì)出現(xiàn)FileNotFoundError錯(cuò)誤。

      3. Popen.wait()可以得到命令的返回值

      4. 如果是windows下的命令,則文件路徑如果用的是linux格式會(huì)報(bào)錯(cuò):The syntax of the command is incorrect.

      舉個(gè)栗子

      if subprocess.Popen('dir /b %s' % filename, shell=True).wait() == 0

      如果filename字符串中有空格,則會(huì)出現(xiàn)錯(cuò)誤:File Not Found錯(cuò)誤

      可以通過下面["cmd", "arg1", "arg2"]兩種方式

      if subprocess.Popen(["dir", "/b", filename], shell=True).wait() == 0

      if subprocess.call(["dir", "/b", filename], shell=True) == 0

      [Python中subprocess學(xué)習(xí)]

      4、webbrowser.open(url)

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

      調(diào)用系統(tǒng)缺省瀏覽器打開URL地址,如 webbrowser.open('http://www.jb51.NET'),也可以利用

      webbrowser.open('h:\python.zip')來執(zhí)行程序。這樣可以不必區(qū)分是文件名還是URL,不知道在Linux下是否可行。

      以上在Windows2000,Python2.4a1,wxPython 2.5.1運(yùn)行。

      [python調(diào)用shell的方法]

      5. os.popen(command[,mode[,bufsize]])

      舉個(gè)栗子

      >>> import os

      >>> p = os.popen("dir c:", 'r')

      >>> p.read()

      bla bla... <這里是dir正確的輸出>

      >>> p.close()

      >>> p = os.popen("dir d:", 'r') # 電腦中沒有D盤

      >>> p.read()

      ''

      >>> p.close()

      1

      >>>

      可以看出,popen方法通過p.read()獲取終端輸出,而且popen需要關(guān)閉close().當(dāng)執(zhí)行成功時(shí),close()不返回任何值,失敗時(shí),close()返回系統(tǒng)返回值. 可見它獲取返回值的方式和os.system不同。

      6. 使用commands模塊

      舉個(gè)栗子

      >>> import commands

      >>> commands.getstatusoutput('ls /bin/ls')

      (0, '/bin/ls')

      >>> commands.getstatusoutput('cat /bin/junk')

      (256, 'cat: /bin/junk: No such file or directory')

      >>> commands.getstatusoutput('/bin/junk')

      (256, 'sh: /bin/junk: not found')

      >>> commands.getoutput('ls /bin/ls')

      '/bin/ls'

      >>> commands.getstatus('/bin/ls')

      '-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'

      根據(jù)你需要的不同,commands模塊有三個(gè)方法可供選擇。getstatusoutput, getoutput, getstatus。

    Python怎么調(diào)用系統(tǒng)命令相關(guān)文章

    1.Linux系統(tǒng)常用命令合集

    2.unix和linux密碼丟失怎么辦

    3.android重要知識(shí)點(diǎn)總結(jié)

    4.python版本低怎么升級(jí)

    5.Linux命令行中網(wǎng)速怎么測(cè)試

    Python怎么調(diào)用系統(tǒng)命令

    Python經(jīng)常被稱作膠水語言,因?yàn)樗軌蜉p易地操作其他程序,輕易地包裝使用其他語言編寫的庫。在Python/wxPython環(huán)境下,執(zhí)行外部命令或者說在Python程序中啟動(dòng)另一個(gè)程序的方法,下面就讓學(xué)習(xí)啦小編教大家Python怎么調(diào)用系統(tǒng)命令。 Pyt
    推薦度:
    點(diǎn)擊下載文檔文檔為doc格式

    精選文章

    • Python的系統(tǒng)命令有哪些
      Python的系統(tǒng)命令有哪些

      ython具有易讀、易學(xué)、易維護(hù)、可移植性、跨平臺(tái)等特點(diǎn)而深受歡迎,并在最近幾年迅速崛起。下面就讓學(xué)習(xí)啦小編教大家Python的系統(tǒng)命令,希望對(duì)大家有

    • 怎么取消shutdown的系統(tǒng)重啟命令
      怎么取消shutdown的系統(tǒng)重啟命令

      shutdown命令很容易搜到,但是重啟命令shutdown的取消卻有時(shí)不靈,怎么辦呢?下面就讓學(xué)習(xí)啦小編教大家取消shutdown的系統(tǒng)重啟命令。 取消shutdown系統(tǒng)重啟命令

    • 蘋果系統(tǒng)怎么打開命令行
      蘋果系統(tǒng)怎么打開命令行

      蘋果系統(tǒng)同樣擁有命令執(zhí)行程序,下面就讓學(xué)習(xí)啦小編教大家如何打開蘋果系統(tǒng)的命令性。 蘋果系統(tǒng)命令行的打開方法一 我們這里先介紹通過圖形方式打

    • WIN7怎么打開系統(tǒng)命令提示符
      WIN7怎么打開系統(tǒng)命令提示符

      經(jīng)常使用Windows系統(tǒng),就會(huì)發(fā)現(xiàn)通過Windows的窗口界面并不是能完成所有操作,有時(shí)還必須使用命令提示符,在其中執(zhí)行相應(yīng)的命令才能完成相應(yīng)的操作。那

    1753473