2015-01-24 2 views
-1

У меня есть текстовый файл, который имеет блоки, какпоиска блок внутри текстового файла

dir1/dir2/dir3/name_run_number1: 
line1_run_number1_part1 
line2_run_number1_part2 
line3_run_number1_part3... 

Каждый блок отделяется пустой строкой, и есть «:» в «заголовке» каждого из них в то время как каждый блок имеет уникальный «номер1» после суффикса «run_», который также присутствует в строках внутри блока

Что я хочу сделать для каждого блока, извлеките «номер1», как показано в первой строке, а затем для линии ниже подсчитываются от 1 до 20 и выдают сообщение, если отсутствует строка «partX». Любой удар или питон будет в порядке

Благодаря

+1

Что вы пытаетесь достичь? Пример с ожидаемым выходом будет лучше. –

+0

нет необходимости в отрицательных голосах, я просто попытался задать самый общий рабочий пример - я уже писал 'поиск определенного шаблона строки внутри'. поэтому выход может быть как 'блок 1: найдено your_string в LINE1, line3' –

+0

Я не знаю, что вы имеете в виду блок .. –

ответ

1

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

Попробуйте следующее:

def find_text(text): 
    """Find some text inside a file.""" 
    match_lst = [] 
    with open('myfile.txt', 'w') as f: 
     for line in f.readline(): 
      if line == text: 
       match_lst.append(line) 
    return match_lst 

Это даст вам список Python, содержащий все матчи.

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

+0

Почему голос? –

Смежные вопросы