Как получить вывод команд adb и поместить в переменную - PullRequest
0 голосов
/ 24 января 2020

моя проблема в этом коде:

import subprocess as sp
import os

# CONSTANTS
SRL = 'serial_code'
SCF = 'scaling_cur_freq'
SMF = 'scaling_max_freq'
SAV = 'scaling_available_frequencies'
ROOT = 'adb -s {} root'
SHL = 'adb shell '
CD = '/sys/devices/system/cpu/cpu0/cpufreq/'
CAT = '"cat" '

os.system(ROOT.format(SRL))
print("Available Frequencies:")
os.system(SHL+CAT+CD+SAV) # 1
print("Initial Frequency:")
os.system(SHL+CAT+CD+SCF) # 2
x = sp.check_output(os.system(SHL+CAT+CD+SAV)) # The problem
print(x)

Я хочу поместить строку # 1 return в var x но вместо этого я получаю это:

> adbd is already running as root

> Available Frequencies:

> 614400 883200 1036800 1363200 1536000 1670400 1804800 

> Initial Frequency:

> 1363200

>Traceback (most recent call last):
  File "/home/jvff/CpuFreq/CpuFreq.py", line 19, in <module>
    x = sp.check_output(os.system(SHL + CAT + CD + SAV))  # The problem
  File "/usr/lib/python3.8/subprocess.py", line 411, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.8/subprocess.py", line 489, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1567, in _execute_child
    args = list(args)
TypeError: 'int' object is not iterable

> 614400 883200 1036800 1363200 1536000 1670400 1804800 

> Process finished with exit code 1

Мне нужно знать, как я могу поймать возвращение команды # 1 и возвращение # 2 и вставьте переменную, как х, у ... В основном, я хочу X = 614400 883200 1036800 1363200 1536000 1670400 1804800 в этом случае

Заранее спасибо !!!

1 Ответ

0 голосов
/ 24 января 2020

я нахожу ответ Назначьте вывод os.system переменной и предотвратите ее отображение на экране

Спасибо Крису Банчу!

x = os.popen (SHL + CAT + CD + SAV) .read ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...