我正在处理一个python脚本,该脚本从前一个终端窗口命令获取输出并再次输入。这是代码
pathCmd = './adb shell pm path com.example.deliveryupdater'
pathData = os.popen(pathCmd,"r")
for line in pathData:
path = line
print line
if line.startswith("package:"):
apkPath = line[8:]
print apkPath
pullCmd = './adb pull ' + apkPath
pullData = os.popen(pullCmd,"r")
输出如下: /data/app/com.example.deliveryupdater-1.apk
'不存在/ data / app / com.example.deliveryupdater-1.apk
它说路径不存在。 当我将路径硬编码为
时 pullCmd = './adb pull /data/app/com.example.deliveryupdater-1.apk'
pullData = os.popen(pullCmd,"r")
.apk数据被拉动。
3886 KB/s (2565508 bytes in 0.644s)
有没有办法可以将字符串作为变量传递?我在这里做错了吗? 请帮忙
答案 0 :(得分:2)
错误消息告诉您错误:该路径/data/app/com.example.deliveryupdater-1.apk(newline)
不存在。可能在目录中没有以换行符结尾的文件名。我假设您正在迭代文件或某种类型的行,这可以解释为什么你有换行符。为什么不切片[8:-1]
而不是[8:]
,或者只是.rstrip()
在线上(即使该线没有换行,这也会有效),作为最后一行文件可能不会?)
if line.startswith("package:"):
apkPath = line[8:].rstrip()
print apkPath
pullCmd = './adb pull ' + apkPath
pullData = os.popen(pullCmd,"r")