Python-使用循环删除多个文本文件的关键字后的部分

Python-使用循环删除多个文本文件的关键字后的部分,python,Python,我有几千个文本文件,我想从中提取某一部分并保存到另一个文件中 我的文件可能如下所示: ABC 文本 文本文本 DEF GHI 我总是想删除从“DEF”开始的所有内容(所以保留粗体斜体部分)并保存回文件。我已经提出了一些第一个代码,但我缺少一种节省时间的方法,也不知道如何将其放入循环中。有什么建议吗 import fileinput with open('testfile.txt') as input_data: for line in input_data: if li

我有几千个文本文件,我想从中提取某一部分并保存到另一个文件中

我的文件可能如下所示:
ABC
文本
文本文本

DEF
GHI

我总是想删除从“DEF”开始的所有内容(所以保留粗体斜体部分)并保存回文件。我已经提出了一些第一个代码,但我缺少一种节省时间的方法,也不知道如何将其放入循环中。有什么建议吗

import fileinput

with open('testfile.txt') as input_data:
    for line in input_data:
        if line.strip() == '': 
            break
    for line in input_data:  
        if line.strip() == 'DEF':
            break
        print (line)

您可以尝试以下方法:输入数据.read().split('DEF')[0]为什么GHI不加粗?您的第一个循环基本上什么都不做。它每次都检查一个条件——如果为真,循环停止,如果为假,循环继续,直到到达文件末尾。您要做的是删除输入数据中第二行的
,因为您希望所有逻辑都在一个循环中。我已经想出了一些第一个代码,但我缺少一种省时的方法做什么?