Получение данных из вывода командной строки с использованием Python

Вот команда, которую я использовал для получения информации о файле, в которой меня интересует только версия ревизии. команда:

 command='si revisioninfo D:/Documentation/file_folder/file.c'
 process = Popen(args=command,stdout=PIPE,shell=True)
 file_output=process.communicate()[0]
 print file_output

вывод:

Sandbox Name: D:/Documentation/project.pj
Revision: 1.7
Labels: Review_1

Из них я хочу, чтобы на выходе были назначены только данные ревизии.


person rakshi    schedule 02.07.2018    source источник


Ответы (1)


Если часть ревизии всегда является второй строкой вывода, вы можете использовать разделительные линии (), чтобы разделить строку новой строкой:

file_output = process.communicate()[0].splitlines()[1]

Если это не так, вы всегда можете получить первую строку, которая начинается с 'Revision:':

file_output = [line for line in process.communicate()[0].splitlines() if line.startswith('Revision:')][0]
person spejsy    schedule 02.07.2018