Wyjście podprocesu Python3

Chcę uruchomić narzędzie do obliczania słów w systemie Linux, aby określić liczbę linii znajdujących się obecnie w / var / log / syslog, dzięki czemu mogę wykryć, że rośnie. Próbowałem różnych testów i chociaż otrzymałem wyniki z wc, zawiera ono zarówno liczbę linii, jak i polecenie (np. Var / log / syslog).

Wraca więc: 1338 / var / log / syslog Ale chcę tylko liczbę linii, więc chcę usunąć część / var / log / syslog i po prostu zachować 1338.

Próbowałem przekonwertować go na ciąg znaków z testowania, a następnie usunąć wynik, ale bez radości. Ta sama historia konwersji na łańcuch i rozbiórki, dekodowanie itp. - wszystko to nie udaje się uzyskać wyjścia, którego szukam.

Oto kilka przykładów tego, co otrzymuję, z 1338 liniami w syslog:

b'1338 / var / log / syslog1338 / var / log / syslog

Oto kod testowy, który napisałem, aby spróbować złamać tę nakrętkę, ale nie ma rozwiązania:

import subprocess

#check_output returns byte string
stdoutdata = subprocess.check_output("wc --lines /var/log/syslog", shell=True)
print("2A stdoutdata: " + str(stdoutdata))
stdoutdata = stdoutdata.decode("utf-8")
print("2B stdoutdata: " + str(stdoutdata))    
stdoutdata=stdoutdata.strip()
print("2C stdoutdata: " + str(stdoutdata))    

Wynik tego jest:

2A stdoutdata: b'1338 / var / log / syslog

2B stdoutdata: 1338 / var / log / syslog

2C stdoutdata: 1338 / var / log / syslog

2D stdoutdata: 1338 / var / log / syslog

questionAnswers(4)

yourAnswerToTheQuestion