python 判断txt每行内容中是否包含子串并重新写入保存的实例

针对“Python 判断txt每行内容中是否包含子串并重新写入保存”的问题,可以通过以下几个步骤实现:

1. 读取文件

需要首先先读取该txt文件中的内容,具体实现方法如下:

with open('file.txt', 'r') as f:
    lines = f.readlines()

其中,with语句可以自动帮我们关闭文件。通过readlines()函数,可以读取全部文件并按照行切分,将每行的内容作为一个字符串元素存入列表lines中。

2. 判断是否包含子串

得到每行的字符串后,我们需要判断该字符串是否包含了特定的子串。这里我们可以采用字符串的findin方法,例如:

if 'keyword' in line:
    # do something

这段代码表示如果line中包含字符串keyword,则执行某些操作。

3. 重新写入保存

如果某行包含我们想要的子串,我们可以将其写入一个新的txt文件中。例如:

with open('new_file.txt', 'w') as f:
    for line in lines:
        if 'keyword' in line:
            f.write(line)

这段代码中,with语句又帮我们自动关闭了文件,我们使用w模式打开文件以便写入内容。然后,我们遍历lines中的每一行,如果某行包含了keyword这个子串,就将该行写入新文件中。

示例说明

下面提供两个示例,来更具体的说明如何通过Python判断txt每行内容中是否包含子串并重新写入保存。

示例1

现有一个名为data.txt的txt文件,里面有如下内容:

apple
banana
orange
lemon
grape

现在我们想要找出其中包含'le'的行并保存到另一个文件中。可以使用以下代码:

with open('data.txt', 'r') as f:
    lines = f.readlines()

with open('new_data.txt', 'w') as f:
    for line in lines:
        if 'le' in line:
            f.write(line)

运行后,我们检查一下new_data.txt文件,可以发现其中保存了原文件中包含'le'的行。

示例2

假设我们现在有一个翻译文件translation.txt,其中以“中文\t英文”的格式保存着一些单词的翻译,如下所示:

苹果  apple
香蕉  banana
橙子  orange
柠檬  lemon
葡萄  grape

现在我们想要找出其中包含'apple'的行并保存到另一个文件中,可以使用以下代码:

with open('translation.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()

with open('new_translation.txt', 'w', encoding='utf-8') as f:
    for line in lines:
        if 'apple' in line.split('\t')[1]:
            f.write(line)

这段代码中,我们使用了split方法对每行进行切分,以便获取到英文翻译。再使用if 'apple' in line.split('\t')[1]这句话来判断是否包含'apple',如果包含则将整行写入新文件中。

注意:由于该示例中使用了中文,因此需要加入encoding参数来指定文件编码格式,否则会出现乱码问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 判断txt每行内容中是否包含子串并重新写入保存的实例 - Python技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • django 实现手动存储文件到model的FileField

    当我们在使用Django开发Web应用时,常常需要让用户上传文件,比如头像、照片等,我们可以通过使用Django的FileField字段将这些文件存储到数据库中。但是,有时候我们可能需要手动将文件保存到FileField字段所关联的文件中。本文将详细讲解如何在Django中手动保存文件到FileField字段所关联的文件中。 1. 准备工作: 首先,我们需要…

    人工智能概论 2023年5月25日
    00
  • 利用Python的Django框架生成PDF文件的教程

    我来为您详细讲解“利用Python的Django框架生成PDF文件的教程”的完整攻略。 1. 确定需求 在开始制作PDF文件之前,我们需要确定需求,即需要制作哪些PDF文件以及需要包含哪些内容。这些PDF文件可能包括: 报告 订单 发票 协议 你需要确定文件的格式、内容以及必要的样式。在确定需求后,我们可以选择使用Python中的Django框架来生成PDF…

    人工智能概览 2023年5月25日
    00
  • k8s中pod使用详解(云原生kubernetes)

    下面我将为您讲解一下“k8s中pod使用详解(云原生kubernetes)”的完整攻略,让您更好地了解该主题。 1.什么是Pod Pod是Kubernetes API对象中最小的可部署资源。 Pod是指一组紧密关联的容器集合,它们共享网络空间和存储卷等资源。Pod可以由一个或多个容器组成,它们共享存储、网络等资源,可以在同一节点上或跨多个节点运行。 例如,您…

    人工智能概览 2023年5月25日
    00
  • Mongodb中关于GUID的显示问题详析

    Mongodb中关于GUID的显示问题详析 背景介绍 在Mongodb中,我们通常使用Object ID来作为文档中唯一识别符。而Object ID则是基于GUID (Globally Unique Identifier)算法生成的不重复标识符。 但在某些情况下,我们需要将GUID作为字符串存储到文档中,这时会遇到一些显示问题,需要进行特殊处理。 本文将详细…

    人工智能概论 2023年5月25日
    00
  • Java之SpringCloudAlibaba Sentinel组件案例讲解

    Java之SpringCloudAlibaba Sentinel组件案例讲解 概述 Sentinel是阿里巴巴开源的一款服务保护框架,可以通过限流、熔断降级、系统负载保护等手段保护应用服务不受影响,进而提升应用可用性、稳定性和安全性。本篇文章将讲解使用SpringCloudAlibaba集成Sentinel组件的案例,包括Sentinel Dashboard…

    人工智能概览 2023年5月25日
    00
  • python图片验证码识别最新模块muggle_ocr的示例代码

    使用Python图片验证码识别最新模块muggle_ocr能够自动识别图片验证码,提高验证码的自动破解能力。以下是该模块的示例代码及详细攻略。 安装 通过pip安装muggle_ocr模块: pip install muggle_ocr 使用方法 这是一个最简单的示例: from muggle_ocr import OCR import requests #…

    人工智能概论 2023年5月25日
    00
  • 在 .NET Core 中使用 Diagnostics (Diagnostic Source) 记录跟踪信息

    在 .NET Core 中,我们可以使用 Diagnostics(Diagnostic Source)来自定义记录跟踪信息。其主要原理是,在关键时刻发送一个事件,将事件传递给监听器,从而实现跟踪记录。整个流程可以分为三个步骤: 定义属性事件源 Diagnostics 中的每个事件源都需要定义一个类,在这个类中,我们可以定义多个属性来描述该事件。假设我们要在示…

    人工智能概览 2023年5月25日
    00
  • 利用nginx解决cookie跨域访问的方法

    下面是利用Nginx解决Cookie跨域访问的方法的完整攻略: 什么是Cookie跨域? 当一个网站向另一个域名的网站发送请求时,当前网站在请求中会携带Cookie信息。这种情况下,另一个域名的网站将无法获取Cookie信息,从而导致跨域问题。 使用Nginx解决Cookie跨域问题 Nginx是一款高性能的HTTP服务器和反向代理服务器,可以用来作为解决C…

    人工智能概览 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部