Удалить все строки из текстового файла до определенной строки - python3 - PullRequest
0 голосов
/ 04 октября 2018

У меня есть текстовый файл, в котором содержится много отладочной информации, до необходимых мне данных.Я использую python3, чтобы попытаться переписать вывод, чтобы файл начинался с определенного тега json.Я попытался использовать это решение удалить строку и все строки перед строкой из файла python , но я получаю пустой выходной файл, поэтому я предполагаю, что он не находит тег json.

Вот мойкод:

tag = '"meta": ['
tag_found = False 

with open('file.in',encoding="utf8") as in_file:
with open('file.out','w',encoding="utf8") as out_file:
    for line in in_file:
        if tag_found:
            if line.strip() == tag:
                tag_found = True 
            else:
                out_file.write(line)

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018
tag = '"meta": ['
lines_to_write = []
tag_found = False

with open('file.in',encoding="utf8") as in_file:
    for line in in_file:
        if line.strip() == tag:
            tag_found = True
        if tag_found:
            lines_to_write.append(line)
with open('file.out','w',encoding="utf8") as out_file:
    out_file.writelines(lines_to_write)
0 голосов
/ 04 октября 2018

ваш tag_found всегда False:

tag = '"meta": ['
tag_found = False 

with open('file.in',encoding="utf8") as in_file:
with open('file.out','w',encoding="utf8") as out_file:
    for line in in_file:
        if not tag_found and line.strip() == tag:
            tag_found = True
            continue

        if tag_found:
             out_file.write(line)
...