在adb sh中使用%s和*调用Python子进程

2024-10-01 22:36:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python,我很喜欢它如何帮助我实现一些日常事务的自动化。我用谷歌来回答我所有的问题,到现在为止我已经非常成功了。但这次我真的被卡住了,已经花了2天时间。在

下面的代码不起作用,因为在同一行中有%s和*

from Tkinter import *
import subprocess as sp
regLists = ['1b7', '1b6', '209', '197']
valLists = ['23', '80', 'ab', '73']
for regs,vals in zip(regLists,valLists):
        sp.call('adb shell "echo %s %s > /d/asoc/*-snd-card*/*_code*/code_reg"'%(regs,vals), shell=True)

错误:

^{pr2}$
  • a) 每个设备的路径名不同
  • b) *用于查找linux目录内的路径名

工作代码如下所示,因为没有*并且提到了整个路径

sp.call('adb shell "echo %s %s > /d/asoc/xyz-snd-card-device45/ffde_code-fffb/code_reg"'%(regs,vals), shell=True)

请有人能帮助我如何改变以上代码,以便我可以使用上述代码。。。在


Tags: 代码importechocodeshellcallcardsp
2条回答

谢谢大家的支持。 我当然会尝试上面提到的for和find选项,以便更熟悉python编程。同时,在google上做了更多的调试,找到了另一个可行的解决方案,如下所示。 通过使用&运算符,代码可以按预期工作。在

sp.call('adb shell "cd /d/asoc/*snd-card*/*_code* && echo %s %s > code_reg"'%(regs,vals), shell=True)

附言:我还需要检查一下两者之间的区别点播以及sp.check U输出在

for regs,vals in zip(regLists,valLists):
    echo = "echo {} {} > /d/asoc/*-snd-card*/*_code*/code_reg".format(regs,vals)
    sp.check_call(["adb", "shell" , echo])

相关问题 更多 >

    热门问题