为什么你总是得到True的原因已经给出,所以我只提出另一个建议:

如果你的文件不是太大,你可以读它到一个字符串,只是使用(更容易,通常比每行阅读和检查行更快):

if 'blabla' in open('example.txt').read():

print "true"

另一个窍门:你可以通过使用mmap.mmap()来创建一个“类似字符串”的对象,使用底层文件(而不是读取整个文件在内存中),可以缓解可能的内存问题:

import mmap

f = open('example.txt')

s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)

if s.find('blabla') != -1:

print 'true'

注意:在python 3中,mmaps的行为像bytearray对象而不是字符串,所以你用find()寻找的子序列必须是一个字节对象,而不是一个字符串,例如。 s.find(b’blabla’):

#!/usr/bin/env python3

import mmap

with open('example.txt', 'rb', 0) as file, \

mmap.mmap(file.fileno(), 0, access=mmap.ACCESS_READ) as s:

if s.find(b'blabla') != -1:

print('true')

您还可以在mmap上使用正则表达式,例如,不区分大小写的搜索:if re.search(br'(?i)blabla’,s):

python 文件中搜索字符串_在txt文件中搜索字符串Python相关推荐

  1. java 文件 字符串_java将字符串写入到txt文件中

    将字符串写入到txt文件中import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundExceptio ...

  2. Python 学习笔记(3)对txt文件的读与写操作(下)

    上一章节我们讨论了如何对txt文本文件进行读写操作,这一张将讨论如何进行二进制文件的写与读.<Python 学习笔记(3)对txt文件的读与写操作(上)>的链接如下https://blog ...

  3. Python 学习笔记(3)对txt文件的读与写操作(上)

    目录 1.file 对象 2.open() 方法 3.txt文件的读与写 3.1.写txt文件 3.2.读txt文件 3.2.在文件末尾续写文件 4.写在最后 1.file 对象 file 对象使用 ...

  4. python读取txt文件的行数_python读取txt文件符合条件的行数-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 关系网图 pyth ...

  5. 将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中

    package again;import java.io.*;/* 1.编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中,a.txt 文件中的单词 ...

  6. js读取服务器txt文件,ZK中使用JS读取客户端txt文件内容问题

    最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...

  7. java io流读取txt文件_Java使用IO流读取TXT文件

    通过BufferedReader读取TXT文件 window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputS ...

  8. c++读取文件夹下的多个txt.文件并计算每个txt数据的平均值

    #include <iostream> #include <sys/types.h> #include <dirent.h> #include <fstrea ...

  9. java合并txt文件_Java程序将两个txt文件合并为第三个txt文件 - Break易站

    让给定的两个文件是file1.txt和file2.txt.我们的任务是将两个文件合并到第三个文件,例如file3.txt,但合并应该逐行进行.以下是交替合并的步骤. 为file3.txt创建Print ...

最新文章

  1. WCF 绑定(Binding)
  2. kafka安装_安装Kafka
  3. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
  4. 用来枚举属性的对象工具函数
  5. 【洛谷 - U43391】不是0-1背包的暴力AC(思维,二分,可转化为二元组问题,复习暴力dfs总结)
  6. Linux中的crontab详解
  7. 支付宝在线支付接口开发教程
  8. 看看华为 Java 编程的军规...
  9. 池化和反池化、卷积层的理解layers.Conv2D,可视化卷积padding
  10. MT4 API 跟单交易接口更新
  11. 485转以太网通讯测试软件,485转TCPIP转换模块 串口转以太网模块
  12. C语言malloc函数详解(通俗易懂)
  13. 计算机二级网页暂时无法连接,小编教你二级网页打不开怎么解决
  14. Word学习笔记分享
  15. 3年已过,你知道这些目标网站,过去是如何被爬的吗?爬虫100例复盘5
  16. 画布Canvas在线生成支付宝收款码
  17. 以太网控制器学习(ENC28J60为例)
  18. 给自己定个小目标 --java
  19. java小应用程序appletviwer查看,不能读取 AppletViewer 的属性文件
  20. 如何使测试和开发沟通更有效

热门文章

  1. 五大列级庄_61列级名庄介绍
  2. 使用flex布局实现局部滚动条
  3. Misc第一篇——stegano(附上摩斯密码表)
  4. 银行大数据工程师笔试题
  5. 面向对象:连IE都有勇气问你,是否要将它设成预设浏览器,于是我鼓起勇气来找你~
  6. 计算机控制系统课程设计ad转换,计算机a/d转换器与系统的连接及举例
  7. 英狼 团队作业2--王者光耀
  8. flash芯片替换SAMSUNG K9K8G08U0E替换K9K8G08U0B
  9. Linux之经典互联网架构
  10. 在Keil 中找不到对应芯片厂家的型号