python执行cmd命令 Myth丶恋晨 2023-08-17 17:26 78阅读 0赞 我们在做手机端自动化的时候有时候可能会遇到需要执行cmd命令完成用例,我们一起学习下,通过python脚本执行cmd命令 # cmd是什么 # cmd是command的缩写.即命令提示行(CMD),是在OS / 2 , Win为基础的操作系统(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件 ----来自百度百科 其实说白了就是windows中执行一些命令的地方。 # python操作cmd # 我们通常可以使用os模块的命令进行执行cmd ### 方法1: ### os.stsrem(执行的命令) # 源码 def system(*args, **kwargs): # real signature unknown """ Execute the command in a subshell. """ pass ![1171635-20190905190801397-2125774010.png][] 我们可以看到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) 可以发现输出后的内容是一个对象,默认是以读的方式打开 ![1171635-20190905185826351-143480318.png][] 我们可以通过读取文件对象,获取返回的信息内容 ![1171635-20190905190501357-1351306757.png][] 我们可以在这里执行cmd的命令,获取返回内容,进行对返回内容取出来,方便我们进行其他测试。取出返回信息参考[appium---Android app资源监控][appium---Android app] **如果写的对您有帮助,点个关注。持续更新中~~** 转载于:https://www.cnblogs.com/qican/p/11468866.html [1171635-20190905190801397-2125774010.png]: /images/20230808/df8cf3c7c8e541118f25ed5bc362f3d4.png [1171635-20190905185826351-143480318.png]: /images/20230808/0b4feb294e8a4447880ef1b0e14ad906.png [1171635-20190905190501357-1351306757.png]: /images/20230808/16a5cd9ad9044cad86d3910fbb6524d6.png [appium---Android app]: https://www.cnblogs.com/qican/p/11246202.html
还没有评论,来说两句吧...