Вопрос

Когда я запускаю exe-файл, он выводит данные на экран.Я не знаю конкретную строку, где я хочу распечатать, но есть ли способ заставить python напечатать следующую строку после строки с надписью "Сводка"?Я знаю, что это есть там, когда оно печатается, и мне нужна информация сразу после.Спасибо!

Это было полезно?

Решение

Действительно простое решение на Python:

def getSummary(s):
    return s[s.find('\nSummary'):]

Это возвращает все после первого экземпляра Краткие сведения
Если вам нужно быть более конкретным, я бы рекомендовал регулярные выражения.

Другие советы

на самом деле

program.exe | grep -A 1 Summary 

сделал бы свою работу.

Если exe-файл выводится на экран, то передайте этот вывод в текстовый файл.Я предположил, что exe-файл находится в Windows, затем из командной строки:

myapp.exe > output.txt

И ваш достаточно надежный код python был бы чем-то вроде:

try:
    f = open("output.txt", "r")
    lines = f.readlines()
    # Using enumerate gives a convenient index.
    for i, line in enumerate(lines) :
        if 'Summary' in line :
            print lines[i+1]
            break                # exit early
# Python throws this if 'Summary' was there but nothing is after it.
except IndexError, e :
    print "I didn't find a line after the Summary"
# You could catch other exceptions, as needed.
finally :
    f.close()
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top