Изменение представления символов значений труб StdoutLinux

Ответить
Anonymous
 Изменение представления символов значений труб Stdout

Сообщение Anonymous »

Я пытаюсь использовать subprocess.popen для выполнения двух команд Linux, а затем обработать поток STDOUT для извлечения температуры ЦП и средней нагрузки ЦП. Вот мой код: < /p>
#!/usr/bin/env python
import subprocess
Answers = ""
IPs = ["192.168.70.13"]
IPName = ["xxx"]
for x in IPs:
cmd = ['ssh', 'me@'+x, 'vcgencmd', ' measure_temp']
cmd2 = ['top -n 1 | grep "%Cpu"']
j = IPs.index(x)
print(cmd2)
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
o, e = proc.communicate()
print(IPName[j] + ': ' + o.decode('ascii'))
Answers = Answers + IPName[j] + o.decode('ascii')
proc.stdout.close()
proc.stderr.close()
proc2 = subprocess.Popen(cmd2, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
o, e = proc2.communicate()
TempCpu = o.decode('ascii')
TempCpu = TempCpu.strip()
print("lenght is " + str(len(TempCpu)))
print("TempCpu = " + TempCpu)
k = TempCpu.find('id')
print("index of id = " + str(k))
value = TempCpu[k-6:k]
print(value)
print(IPName[j] + ': ' + o.decode('ascii'))
Answers = Answers + IPName[j] + ' == ' + o.decode('ascii')
print('Answers were : /n' + Answers)
< /code>
Цель IT для получения загрузки процессора и температуры ЦП на Raspberry Pi под управлением Linus Debian. Выход был < /p>

['top -n 1 | Grep " %CPU" ']
xxx: temp = 49,8'c
lenght составляет 387
tempcpu = %cpu (S): 0,0 US, 0,0 Sy, 0,0 Ni, 100,0 ID, 0,0 Wa, 0,0 h.0 si, 0,0 S.0. /> Индекс ID = 169 < /p>
xxx: %CPU (S): 0,0 US, 0,0 Sy, 0,0 Ni, 100,0 ID, 0,0 WA, 0,0 HI,
0.0 Si, 0,0 ST < /p> Ответы были: /nrpstemp=49.8'c . %CPU (S): 0,0 US, 0,0 SY, 0,0 Ni, 100,0 ID, 0,0 WA, 0,0 HI,
0,0 Si, 0,0 ST < /p>
< /blockquote>
, если кто -то визуально исследует значение Tempcpu, оно составляет около 50 символов, а не 387, что функция длины возвращает. Таким образом, очевидно, что переменная TempCPU не является значением символа, которую он отображает. Что приводит к другим вопросам, когда я пытаюсь извлечь определенные значения, то есть «id».>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ipe-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»