我正在学习python,我很喜欢它如何帮助我自动化一些日常生活。我正在使用谷歌的所有问题,直到现在我已经非常成功。但是这次我真的被困住了,已经花了两天时间。
以下代码不起作用,因为同一行中有%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)
错误:
Error: /system/bin/sh: can't create /d/asoc/*-snd-card*/*_code*/code_reg:
No such file or directory
工作代码如下所示,因为没有*并且提到了整个路径
sp.call('adb shell "echo %s %s > /d/asoc/xyz-snd-card-device45/ffde_code-fffb/code_reg"'%(regs,vals), shell=True)
请有人帮助我如何更改上面的代码,以便我可以使用上面的代码......
答案 0 :(得分:0)
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])
答案 1 :(得分:0)
谢谢大家的支持。 我一定会尝试上面提到的for和find选项,以便更熟悉python编程。与此同时,在谷歌上做了更多的调试,找到了另一个有效的解决方案,如下图所示。 通过使用&&运算符,代码按预期工作。
<Grid Grid.Column="1" Background="#eeeeee" Margin="10,0,0,0" width="250">
<GroupBox Padding="5" Header="Lists">
<ListBox x:Name="ListBox" BorderBrush="#FFECECEC" ItemsSource="{Binding Lists}" SelectionChanged="Panel_SelectionChanged" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" >
<TextBlock Text="{Binding Name}" Style="{StaticResource Pan}" HorizontalAlignment="Left" />
</Grid>
<Grid Grid.Column="1" HorizontalAlignment="Right" >
<Button Style="{StaticResource Del}" Width="30" Height="30" Margin="5,0,0,0">
<Image Source="../Resources/Delete2.png" Width="32" />
</Button>
</Grid>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</GroupBox>
</Grid>
PS:我仍然需要检查sp.call和sp.check_output之间的区别