📅  最后修改于: 2023-12-03 15:04:12.132000             🧑  作者: Mango
在编写程序时,我们通常会需要在文本文件中搜索特定的字符串。Python提供了许多方法来实现这一点。
with open('filename.txt', 'r') as f:
for line in f:
if 'searchString' in line:
print(line)
以上代码打开一个名为filename.txt的文件,并从中读取一行行的文本。如果一行中包含了我们要搜索的字符串searchString,该行文本将会被输出到终端。
Python的re模块可以用于执行强大的正则表达式搜索。以下代码是一个实现基本文本搜索的例子:
import re
with open('filename.txt', 'r') as f:
for line in f:
if re.search('searchString', line):
print(line)
以上代码使用re.search()方法搜索每一个行文本,当发现某个文本中包含了我们要搜索的字符串searchString时,该行文本将会被输出到终端。
Python的fnmatch模块可以使用类似于shell通配符的语法搜索字符串。以下代码是实现基本文本搜索的例子:
import fnmatch
with open('filename.txt', 'r') as f:
for line in f:
if fnmatch.fnmatch(line, '*searchString*'):
print(line)
以上代码使用fnmatch.fnmatch()方法搜索每一个行文本,如果该文本中包含了我们要搜索的字符串searchString,则该行文本将会被输出到终端。
总结:
在Python中搜索文本文件中的字符串是一个很常见的任务。上述所介绍的三种方法,涵盖了绝大多数情况。具体哪种方法最好用取决于你的具体需求。