亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></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)速怎么測試

      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