Python 在文本文件中搜索确切的单词/短语

2023-12-27

目前,我正在尝试在文本文件中搜索确切的单词/短语。我正在使用Python 3.4

这是我到目前为止的代码。

import re

def main():
    fileName = input("Please input the file name").lower()
    term = input("Please enter the search term").lower()

    fileName = fileName + ".txt"

    regex_search(fileName, term)

def regex_search(file,term):
    source = open(file, 'r')
    destination = open("new.txt", 'w')
    lines = []
    for line in source:
        if re.search(term, line):
            lines.append(line)

    for line in lines:
        destination.write(line)
    source.close()
    destination.close()
'''
def search(file, term): #This function doesn't work
    source = open(file, 'r')
    destination = open("new.txt", 'w')
    lines = [line for line in source if term in line.split()]

    for line in lines:
        destination.write(line)
    source.close()
    destination.close()'''
main()

在我的函数 regex_search 中,我使用正则表达式来搜索特定字符串。但是,我不知道如何搜索特定短语。

在第二个函数“搜索”中,我将该行拆分为一个列表,并在其中搜索单词。但是,这将无法搜索特定短语,因为我正在 ['the','dog','walked'] 中搜索 ["dog Walking"],这不会返回正确的行。


edit:考虑到您不想匹配部分单词(“foo”不应匹配“foobar”),因此需要在数据流中向前查看。该代码有点尴尬,所以我认为正则表达式(您当前的 regex_search 已修复)是​​正确的方法:

def regex_search(filename, term):
    searcher = re.compile(term + r'([^\w-]|$)').search
    with open(file, 'r') as source, open("new.txt", 'w') as destination:
        for line in source:
            if searcher(line):
                destination.write(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 在文本文件中搜索确切的单词/短语 的相关文章

随机推荐

  • 如何知道Linux中特定引脚的中断/GPIO编号

    我正在做一个项目 需要在 Linux 中处理中断 我正在使用的板是基于三星的s3c6410 MCU arm 11处理器 它具有以下I O接口 如图所示 我有用于外部中断的 EINTx 引脚和用作 GPIO 引脚的 GPxx 引脚 我不介意使
  • 从内部存储读取 JSON 文件的内容

    如何从内部存储输出 JSON 文件的内容 以下是目前正在开展的工作 String filename names json final File file new File Environment getDataDirectory filen
  • Go 中的多个response.WriteHeader 调用

    我的 Go 服务器正在处理我首先调用的请求response WriteHeader 为了设置我的响应的状态代码 之后 我开始将字节写入响应正文 如果浏览器在我复制字节时取消请求 则会收到错误消息 write tcp 1 52319 brok
  • 如果定义了父 pom,则不会发生存储库 url 的 Maven 属性替换

    我遇到一个问题 当且仅当定义了父 pom 时 maven 才无法正确地将属性替换到我的存储库 URL 中 这尤其是一个问题 因为父 pom 位于远程存储库中 所以我需要定义父 pom 最小可重现示例
  • 将 NSNumber 与固定值进行比较?

    有没有更好的方法来比较 NSNumber 与固定值 只是感觉有点笨拙 if myNumber isEqualToNumber NSNumber numberWithInt 0 NSLog Zero 我确实知道我可以使用 compare 但它
  • P5.js curveVertex 函数在某个点闭合

    我创建了一个噪声函数 它与一个圆函数配对 创建一个看起来很酷的随机噪声圆 我的问题是curveVertex除了第一个和最后一个顶点的连接之外 P5 js 中的函数工作正常 我的代码是 let start Array 50 fill 0 do
  • 如何调暗父 UIView(50% 透明)以进行登录?

    我有一个带有登录按钮的视图 单击该按钮时 我添加一个包含登录字段的视图 发生这种情况时 我需要调暗父视图 我怎么做到这一点 UIViews有一个名为mask mask永远会在最上面UIView谁拥有它 所以 你的方法应该是这样的 这是针对
  • 知道为什么 ctags 不会在 Cygwin 上递归吗?

    每次运行时我都会收到 正在跳过 XXX 它不是常规文件 ctags R XXX 由于某种原因 Cygwin 上的 ctags 不是递归目录 当然 我一定是做了一些愚蠢的事情 每当我尝试事实上的标准时ctags R在我的项目根目录中 它抱怨我
  • 为什么使用 KML 数据检索 Android 版 Google 路线不再起作用? [复制]

    这个问题在这里已经有答案了 可能的重复 谷歌地图输出 kml 坏了 https stackoverflow com questions 11680872 google maps output kml broken 几天以来 当我尝试使用 K
  • python: u'{' 代表什么?

    当我打印出一个值时 它有一个u在它前面 我认为它是某种类型符号 它是什么 我在哪里可以找到此类符号的列表 这意味着UNICODE 字符串文字 http docs python org howto unicode html unicode l
  • 设置 MapView 的中心坐标不考虑 MapView 的完整尺寸(屏幕外部分)

    问题 我有一个包含全屏 MKMapView 的视图 MapView 的下半部分被 TableView 覆盖 该 TableView 具有半透明单元格 以便地图显示出来 当我以注释坐标 例如当前位置 为中心时 注释视图会被 TableView
  • 与 lambda 和函数式接口一起使用时理解下界的问题

    在学习 Java8 Streams 时 我遇到了以下代码片段 Predicate
  • 从经典 Asp 返回对象

    我正在使用 Classic Asp 构建对 url 的请求 现在成功了 是我想从函数返回 Request 对象并获取以下内容 问题 对象不支持此属性或方法 我该怎么做 Set objSrvHTTP Server CreateObject M
  • 属性查找 str 和 object.myvar 等对象

    我想知道如何将对象字段与变量连接起来 这很难向我解释 让我举个例子 Example 我的对象有 myobject name Red myobject lastname Foo 我有一个这样的函数 my function some dumb
  • 在jsf-2.2中的faces-config中传递redirect-param

    在旧的 jsf 中 以下代码可以正常工作
  • gtk.Builder() 和多个空地文件中断

    我有一个glade gui 我也想使用glade 文件插入另一个对象 当我按照下面的方式执行此操作时 这本质上就是我正在做的事情 整个应用程序挂起 self show 并将 CPU 最大化至 100 如果我替换一个的第一行init 和 se
  • Jquery datepicker - 仅日期和月份

    我希望用户在表单中指定他们的生日或周年纪念日 不包括年份 为此 我想使用 jquery datepicker 但它根本不应该显示任何年份选项 怎么做 我尝试修改代码这样的问题 https stackoverflow com question
  • 如何用FitToView控制页面和组件之间的距离?

    使用FitToView后 页面和组件之间的距离太近 有什么好的方法可以控制这个距离吗 在此输入图像描述 https i stack imgur com 7yxqV png 您可以获取对象 组件 的边界框 并用该框放大 缩小以形成适当的框并调
  • 完全随机的一次性加密本

    我需要创建一个一次性密码本来加密一些数据 大小为几KB 我应该如何生成这个一次性填充以避免与基本随机数生成相关的所有伪随机问题 例如rand 是否有现有的 值得信赖的工具或库可供我使用 大多数现代操作系统都有一个加密安全的伪随机数生成器 h
  • Python 在文本文件中搜索确切的单词/短语

    目前 我正在尝试在文本文件中搜索确切的单词 短语 我正在使用Python 3 4 这是我到目前为止的代码 import re def main fileName input Please input the file name lower