В Python вы можете избежать использования подпроцесса для такого простого случая.Вы можете прочитать файл напрямую с помощью open () или принять «стандартный ввод» из sys.stdin
(вам нужно будет импортировать sys до этого).
import sys
for line in sys.stdin:
if line.startswith('BUILDER_VERSION='):
value = line.split('=', 1)
print(value[1] if value or 'No version')
break
else:
print('version is not found')
вы можете использовать его аналогично sed: cat /etc/os-release|python this_script.py
Если вы хотите извлечь число, вы можете использовать такое же регулярное выражение:
import re
version_extractor = re.compile(r'BUILDER_VERSION=([^^]*)')
with open('/etc/os-release', 'r') as file:
for line in file:
match = version_extractor.match(line)
if match:
print(match.groups()[0])