精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 系統(tǒng)安全 > python如何調(diào)用系統(tǒng)命令

      python如何調(diào)用系統(tǒng)命令

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

      python如何調(diào)用系統(tǒng)命令

        python語(yǔ)言的os模塊可以調(diào)用系統(tǒng)命令,這對(duì)于想在程序中調(diào)用操作系統(tǒng)命令的需求,是非常有用的。下面就讓學(xué)習(xí)啦小編教大家Python如何調(diào)用系統(tǒng)命令吧。

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

        首先,第一步是先導(dǎo)入os模塊:

        >>>import os

        導(dǎo)入os模塊后,可以通過以下命令查看os模塊的所有方法:

        >>>dirI(os)

        調(diào)用系統(tǒng)命令使用的是system方法:

        >>>os.system('ipconfig')

        其中,ipconfig命令是查看當(dāng)前電腦IP信息的命令。

        Python執(zhí)行Linux系統(tǒng)命令的4種方法

        (1) os.system

        僅僅在一個(gè)子終端運(yùn)行系統(tǒng)命令,而不能獲取命令執(zhí)行后的返回信息

        system(command) -> exit_status

        Execute the command (a string) in a subshell.

        如果再命令行下執(zhí)行,結(jié)果直接打印出來(lái)

        >>> os.system('ls')

        04101419778.CHM bash document media py-django video

        11.wmv books downloads Pictures python

        all-20061022 Desktop Examples project tools

        (2) os.popen

        該方法不但執(zhí)行命令還返回執(zhí)行后的信息對(duì)象

        popen(command [, mode='r' [, bufsize]]) -> pipe

        Open a pipe to/from a command returning a file object.

        >>>tmp = os.popen('ls *.py').readlines()

        >>>tmp

        Out[21]:

        ['dump_db_pickle.py ',

        'dump_db_pickle_recs.py ',

        'dump_db_shelve.py ',

        'initdata.py ',

        '__init__.py ',

        'make_db_pickle.py ',

        'make_db_pickle_recs.py ',

        'make_db_shelve.py ',

        'peopleinteract_query.py ',

        'reader.py ',

        'testargv.py ',

        'teststreams.py ',

        'update_db_pickle.py ',

        'writer.py ']

        好處在于:將返回的結(jié)果賦于一變量,便于程序的處理。

        (3) 使用模塊 subprocess

        >>> import subprocess

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

        獲取返回和輸出:

        import subprocess

        p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

        for line in p.stdout.readlines():

        print line,

        retval = p.wait()

        (4) 使用模塊 commands

        >>> import commands

        >>> dir(commands)

        ['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']

        >>> commands.getoutput("date")

        'Wed Jun 10 19:39:57 CST 2009'

        >>>

        >>> commands.getstatusoutput("date")

        (0, 'Wed Jun 10 19:40:41 CST 2009')

        注意: 當(dāng)執(zhí)行命令的參數(shù)或者返回中包含了中文文字,那么建議使用subprocess,如果使用os.popen則會(huì)出現(xiàn)下面的錯(cuò)誤:

        Traceback (most recent call last):

        File "./test1.py", line 56, inmain()

        File "./test1.py", line 45, in main

        fax.sendFax()

        File "./mailfax/Fax.py", line 13, in sendFax

        os.popen(cmd)

        UnicodeEncodeError: 'ascii' codec can't encode characters in position 46-52: ordinal not inrange(128)

      python如何調(diào)用系統(tǒng)命令相關(guān)文章:

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

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

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

      4.Linux系統(tǒng)Docker命令怎么用

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

      1772552