python自动安装软件并执行,python自动安装依赖模块

大家好,小编为大家解答python自动安装第三方库的命令的问题。很多人还不知道python自动安装软件并执行,现在让我们一起来看看吧!

引入

初步学习了python的语法,做个安装apk的自动化脚本练习一下,注意这里用的是python2,python3有差异跑不起来。

实现步骤

1、导入模块
# 内置的xml解析模块
import xml.etree.ElementTree as ET
# 用于进程连接交互的模块
import subprocess
# 系统模块
import os
2、获取应用列表
# 定义函数,获取指定目录下的指定后缀的文件名
def getFileName(path, ext):
    f_list = os.listdir(path)
    fileNames = []
    for name in f_list:
        # os.path.splitext():分离文件名与扩展名
        if os.path.splitext(name)[1] == ext:
		    fileNames.append(name)
    return fileNames


# 当前路径
curDir = os.getcwd()
print curDir
appList = getFileName(curDir, '.apk')
print ("====app list====") 
print (appList)
3、获取设备列表
cmd = r'adb devices'
devList = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
devices = []
for line in devList.stdout.readlines()[1:]:
    if 'List' not in line:
     devices.append((line.split('\t'))[0])
devices.pop()
print ("===devices===")
print (devices)
4、安装apk
print ("===install apk===")
for dev in devices:
    for apk in appList:
        installCmd = r'adb -s %s install -r %s\%s ' % (dev, curDir, apk)
        print (installCmd)
        result = subprocess.Popen(installCmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        print(result.stdout.readlines())

小结

初学python,还是应该多实践和调试,才会发现问题,这里我罗列下觉得应该注意的问题:
1、代码块缩进要用空格,不能用TAB
2、python2和python3有区别,这里用的是python2
3、adb install的apk路径名不能有空格
4、兼容不同的系统,文件路径拼接用os.path.join(curDir, ‘apklist.xml’)
5、字符串前面加r,可以保持字符串不被转义

参考资料

使用python批量给设备安装apk
Python中的Subprocess模块
Python使用ElementTree处理XML

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值