При использовании 'adb pull ...' вывод отправляется в stderr независимо от успеха. Есть ли причина для этого? Для примера, потянув файл, который там и вытягивать файл, который не существует:Почему adb push/pull перенаправляет STDOUT на STDERR?
Когда я бегу:
adb pull /data/data/good_file.txt /tmp`
я получаю следующее:
stdout:
stderr: 0 KB/s (13 bytes in 0.078s)
(т.е. нет стандартный вывод)
Тогда, когда при запуске:
adb pull /data/data/bad_file.txt /tmp
я получаю следующее:
stdout:
stderr: remote object '/data/bad_file.txt' does not exist
Программа ниже была использована для создания вышеуказанных результатов:
from subprocess import Popen
cmd = "adb pull /data/data/good_file.txt /tmp"
p = Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print cmd
print "stdout: " + out
print "stderr: " + err
Я на самом деле вижу, что простые вещи, как «ADB» также печать на STDERR – pho79
В краткосрочной перспективе, если вы хотите, чтобы страницы вывода, к примеру, вы можете создать псевдоним, как ADB АДФ = '2 > & 1 ', поэтому команды, как меньше, будут работать как ожидалось – pho79