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日

相关文章

  • 从生成CRD到编写自定义控制器教程示例

    下面是关于从生成CRD到编写自定义控制器的详细攻略: 1. 生成CRD 首先,我们需要通过Kubernetes API来自定义资源并创建CRD。CRD是Custom Resource Definition的缩写,表示自定义资源定义。在Kubernetes中,自定义资源是指我们可以定义和使用的API资源类型,比如我们可以定义一个名为MyResource的自定义…

    人工智能概览 2023年5月25日
    00
  • 有道词典不能翻译PDF文档中的取词该怎么办?

    如果你使用有道词典时遇到了无法翻译PDF文档中的取词的情况,可以考虑通过以下两种方法解决: 方法一:使用Adobe Acrobat进行翻译 Adobe Acrobat是一种非常流行的PDF浏览器,它允许你直接在PDF文档中查找和复制文本。利用这一特性,你可以将你想要翻译的PDF文档文本复制到有道词典中进行翻译。 操作步骤如下: 将需要翻译的PDF文档在Ado…

    人工智能概论 2023年5月25日
    00
  • Django自带用户认证系统使用方法解析

    下面是详细的“Django自带用户认证系统使用方法解析”攻略: 1. Django自带用户认证系统 Django自带了一个完整的用户认证系统,包括用户登陆/注册、重置密码、发送邮件等常用功能。通过这个系统,你可以轻松地管理你网站的用户。 2. 使用步骤 2.1 安装Django 首先,我们需要安装Django。可以通过pip install django来安…

    人工智能概览 2023年5月25日
    00
  • 终于搞懂了Python中super(XXXX, self).__init__()的作用了

    当我们在Python的类中定义了一个子类,为了让子类能够使用父类中的属性和方法,我们通常会在子类中使用super()关键字调用父类的初始化方法。super()关键字的常用格式是super(子类名, self),当我们在子类中使用这个语句时,实际上是在调用父类中的方法。 下面我们来具体了解一下在Python中使用super()这个关键字的方法: super()…

    人工智能概论 2023年5月24日
    00
  • 如何在C#中使用OpenCV(GOCW使用教程)

    下面是“如何在C#中使用OpenCV(GOCW使用教程)”的完整攻略。 1. 简介 OpenCV是一个功能强大的计算机视觉库,可以在各种操作系统上使用C ++,Python和Java等多种语言。OpenCV的目的是提供一组易于使用的计算机视觉算法和工具库,旨在提高计算机视觉在现实世界中的应用。GOCW(Gifski OpenCV Wrapper)是一个用于连…

    人工智能概览 2023年5月25日
    00
  • 获取Django项目的全部url方法详解

    下面我将详细讲解”获取Django项目的全部url方法详解”。 前言 在工作中我们经常需要获取Django项目的所有url链接,不仅仅是我们自己定义的url链接,还包括Django内部自带的url链接。这个需求,在做网站地图,爬虫等一些特定的业务逻辑开发中非常常见,本文就是要解决如何获取Django项目的所有url。 获取方式 获取Django项目的所有ur…

    人工智能概论 2023年5月25日
    00
  • 浅谈Django自定义模板标签template_tags的用处

    首先我们来讲解一下Django自定义模板标签template_tags的用处。当我们在Django中使用模板时,发现有些功能无法只用模板过滤器或模板函数来实现,这时就需要自定义模板标签来满足我们的需要。 自定义模板标签可以根据我们的需求,封装出适合我们业务的标签,在模板中直接调用,极大地提高了模板的可读性和复用性。比如我们可以通过自定义模板标签,实现分类的文…

    人工智能概览 2023年5月25日
    00
  • Pycharm及python安装详细教程(图解)

    下面是Pycharm及Python安装详细教程的完整攻略: Pycharm及Python安装详细教程(图解) 1.下载Python安装包 在Python官网下载对应系统的安装包,建议选择最新的稳定版本进行下载。 2.安装Python 双击下载的安装包,按照步骤进行安装。安装过程中注意勾选“Add Python to PATH”选项,这样可以方便后面在命令行中…

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