Python - 字符串附加问题

时间:2013-09-16 23:12:50

标签: android python string adb

我正在处理一个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)

有没有办法可以将字符串作为变量传递?我在这里做错了吗? 请帮忙

1 个答案:

答案 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")