Я пытаюсь получить logcat adb и сохранить в файл. Я попытался POPEN и позвонить, как показано нижеКак использовать подпроцесс для записи в файл
f = open("/Users/log.txt")
subprocess.call(["adb logcat"], stdout=f)
f_read = f.read()
print f_read
Но я получаю ошибку
File "testPython.py", line 198, in getadbLogs
subprocess.call(["adb logcat"], stdout=f)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
**OSError: [Errno 2] No such file or directory**
Я не уверен, что я делаю неправильно. Возможно ли получить журналы logcat adb с помощью подпроцесса? Я проверил путь к файлу правильно.
да я просто понял, как хорошо , Но поскольку это adb logcat, он постоянно держит демпинг в файл. Как мне его остановить или убить? – user2661518
@ user2661518 Вы можете установить тайм-аут, например: 'subprocess.call ('python', timeout = 2)' будет запускать только python в течение 2 секунд. И тогда подпроцесс поднимет ошибку 'subprocess.TimeoutExpired' и скажет:' Команда 'python' истекает через 2 секунды'. –
, поскольку я использую python2.7. Subprocess.call не имеет аргумента тайм-аута – user2661518