国产宅男网站在线|亚洲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)命令

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

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

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

      python語言的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é)果直接打印出來

      >>> 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