python:subprocess模块连续执行多条cmd命令

您所在的位置:网站首页 python打开终端命令行 python:subprocess模块连续执行多条cmd命令

python:subprocess模块连续执行多条cmd命令

2023-08-26 04:47| 来源: 网络整理| 查看: 265

利用python自动化脚本,本地push安装包到手机,自动安装应用的脚本。在此过程中,使用os.system()命令后,cmd命令窗口出现后又快速消失。 猜测与进程,或者线程有关系,查询相关命令,发现subprocess模块的communicate可将多个cmd命令在一个进程的子进程下连续执行。特记录一下,便于自己回顾。 特别感谢此篇“python怎么实行窗口输入_python如何分别向两个cmd窗口输入指令?”文章,困扰了我几天的问题迎刃而解。

手机/sdcard/下,不能有中文名称,否则gbk模式依然会报错。

# -*- encoding=utf-8 -*- from subprocess import Popen, PIPE, STDOUT #进入/sdcard 下,查看文件列表 #使用gbk格式代替utf-8,避免在解码过程中遇到中文文件名而报错 process = Popen(["cmd"], shell=False, stdout=PIPE, stdin=PIPE, stderr=STDOUT) commands = ("adb shell\n" "cd sdcard\n" "ls\n" ) outs, errs = process.communicate(commands.encode("gbk")) content = [z.strip() for z in outs.decode("gbk").split("\n") if z] print(*content,sep="\n")


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3