Python и чтение строк - PullRequest
       11

Python и чтение строк

0 голосов
/ 09 июня 2009

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

Ответы [ 3 ]

3 голосов
/ 09 июня 2009

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

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

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

2 голосов
/ 09 июня 2009

на самом деле

program.exe | grep -A 1 Summary 

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

1 голос
/ 10 июня 2009

Если 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...