python 中调用系统 shell 命令,os.popen 和 os.system 的区别

本贴最后更新于 730 天前,其中的信息可能已经时移世异

Python调用cmd命令,有两种方法:os.system(cmd)或os.popen(cmd)脚本执行过程中的输出内容。需要看实际的情况去使用对应的方法

两者的区别是:

比如调用adb模拟点击屏幕,只需要关心点击操作,不关心adb指令是否需要有返回结果就用os.system

os.system(cmd):

该方法在调用完shell脚本后,返回一个结果码。

os.system("adb -s 127.0.0.1:62001 shell input tap 400 650")

0 #返回的信号代码  0(成功)

比如调用adb连接设备,需要知道连接了哪些设备,是否连接成功就用os.popen

os.popen(cmd):

out = os.popen('adb devices').read()
devices_list = re.sub('\tdevice', '', out[25:]).strip().split('\n')

回帖
请输入回帖内容 ...