python代码执⾏cmd指令(os.system和os.popen)os.system
1、如果想在cmd执⾏python脚本,可以直接⽤如下指令:
python [xx.py绝对路径]
⽐如我写了个hello.py的脚本,在脚本⾥⾯写⼊内容:print("hello world!") ,放到d盘⽬录路径为:d:\hello.py
2、 os.system ⽤来执⾏cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表⽰执⾏成功。
注意:os.system是简单粗暴的执⾏cmd指令,如果想获取在cmd输出的内容,是没办法获到的。
os.popen
1、如果想获取控制台输出的内容,那就⽤ os.popen 的⽅法了;
    os.popen 返回的是⼀个file对象,跟open打开⽂件⼀样的操作,r是以读的⽅式打开:
# coding:utf-8
import os
# popen返回⽂件对象,跟open操作⼀样
f = os.popen(r"python d:\hello.py", "r")
d = f.read()  # 读⽂件
print(d)
print(type(d))
f.close()
2、执⾏结果:
注意:os.popen() ⽅法⽤于从⼀个命令打开⼀个管道。在Unix,Windows中有效。
实例
1、在app⾃动化的时候,经常⽤到指令:adb devices来判断是否连上了⼿机,那么问题来了,如何⽤python代码判断是否正常连上⼿机?adb devices
2、代码参考:
# coding:utf-8
import os
python能在手机上运行吗
# popen返回⽂件对象,跟open操作⼀样
f = os.popen(r"adb devices", "r")
shuchu = f.read()
f.close()
print(shuchu)  # cmd输出结果
# 输出结果字符串处理
s = shuchu.split("\n")  # 切割换⾏
new = [x for x in s if x != '']  # 去掉空''
print(new)
# 可能有多个⼿机设备
devices = []  # 获取设备名称
for i in new:
dev = i.split('\tdevice')
if len(dev)>=2:
devices.append(dev[0])
if not devices:
print("⼿机没连上")
else:
print("当前⼿机设备:%s"%str(devices))运⾏结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。