python 文件中搜索字符串_在txt文件中搜索字符串Python
為什么你總是得到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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA找不到SVN(Subversio
- 下一篇: 一键打包,随时运行,Python3项目虚