python执行cmd命令返回 127,python执行cmd命令 报毒

本文详细介绍了如何在Python中使用os.system和os.popen执行CMD命令,以及它们之间的区别:os.system返回结果但不提供输出,os.popen可获取输出内容。通过实例演示了如何获取和处理cmd命令的输出用于自动化测试。

大家好,本文将围绕python执行cmd命令如何获取执行结果展开说明,python执行cmd命令并获取输出内容是一个很多人都想弄明白的事情,想搞清楚python执行cmd命令隐藏控制台需要先了解以下几个事情。

Source code download: 本文相关源码

我们在做手机端自动化的时候有时候可能会遇到需要执行cmd命令完成用例,我们一起学习下,通过python脚本执行cmd命令

cmd是什么

cmd是command的缩写.即命令提示行(CMD),是在OS / 2 , Win为基础的操作系统(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件 ----来自百度百科

其实说白了就是windows中执行一些命令的地方python简单代码动画

python操作cmd

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

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

在这里插入图片描述
我们可以看到os.system成功的把我们输入的内容给返回回来了,其中代码0 表示执行成功。但是我们没有办法获取输出的信息内容

方法2:

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)

可以发现输出后的内容是一个对象,默认是以读的方式打开
在这里插入图片描述
我们可以通过读取文件对象,获取返回的信息内容
在这里插入图片描述
我们可以在这里执行cmd的命令,获取返回内容,进行对返回内容取出来,方便我们进行其他测试。取出返回信息参考appium—Android app资源监控

点赞关注~~了解更多,加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值