Я пытаюсь написать скрипт Python, чтобы найти строку в файле с более чем 1000 строк и удалить несколько строк (10) после совпадения строки

-2
задан rag4260 28 March 2019 в 01:35
поделиться

2 ответа

Вы можете сделать что-то вроде этого:

with open('Fastfile', 'r') as f_orig, open('Fastfile_new', 'w') as f_new:
    skipping = False
    for line in f_orig:
        if 'Validate repo test2' in line:
            skipping = True
        if not skipping:
            f_new.write(line)
        if line[:3] == 'end':
            skipping = False
0
ответ дан mttpgn 28 March 2019 в 01:35
поделиться

Может быть, есть много решений, но я думаю, что следующие коды могут решить и вашу проблему.

need_delete = False
with open(path_to_old_file, 'r') as fin, open(path_to_new_file, 'w+') as fout :
    for line in fin:
        if line.endswith('"Validate repo test2"\n'):
            need_delete = True
        if need_delete and not line.strip():
            need_delete = False
            continue
        if not need_delete:
            fout.write(line)

Я надеюсь, что это поможет вам.

0
ответ дан FarmerLi 28 March 2019 в 01:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: