码迷,mamicode.com
首页 > 编程语言 > 详细

Python - 执行cmd命令

时间:2020-04-06 13:37:49      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:输入   pytho   cte   typeerror   expect   cmd命令   pre   roc   process   

python操作cmd

我们通常可以使用os模块的命令进行执行cmd

 

方法一:os.system

os.system(执行的命令)
# 源码
def system(*args, **kwargs): # real signature unknown
    """ Execute the command in a subshell. """
    pass

 

方法二:os.popen(执行的命令)

os.popen(执行的命令)

# 源码
def popen(cmd, mode="r", buffering=-1):
    if not isinstance(cmd, str):
        raise TypeError("invalid cmd type (%s, expected string)" % type(cmd))
    if mode not in ("r", "w"):
        raise ValueError("invalid mode %r" % mode)
    if buffering == 0 or buffering is None:
        raise ValueError("popen() does not support unbuffered streams")
    import subprocess, io
    if mode == "r":
        proc = subprocess.Popen(cmd,
                                shell=True,
                                stdout=subprocess.PIPE,
                                bufsize=buffering)
        return _wrap_close(io.TextIOWrapper(proc.stdout), proc)
    else:
        proc = subprocess.Popen(cmd,
                                shell=True,
                                stdin=subprocess.PIPE,
                                bufsize=buffering)
        return _wrap_close(io.TextIOWrapper(proc.stdin), proc)

 

两者区别

  • system只把能输入的内容给返回回来了,其中代码 0 表示执行成功。但是我们没有办法获取输出的信息内容
  • popen可以获取输出的信息内容,它是一个对象,可以通过 .read() 去读取

 

Python - 执行cmd命令

标签:输入   pytho   cte   typeerror   expect   cmd命令   pre   roc   process   

原文地址:https://www.cnblogs.com/poloyy/p/12641547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!