Python 筛选txt文件中的字符串
在日常工作中,我们经常需要处理文本文件,例如筛选出符合条件的字符串。在Python中,我们可以使用一些内置函数和模块来轻松地实现这一功能。本文将介绍如何使用Python来筛选txt文件中的字符串。
读取txt文件
首先,我们需要读取txt文件中的内容。我们可以使用Python内置的open()
函数来打开文件,并使用readlines()
方法来逐行读取文件内容。
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line)
假设我们有一个名为example.txt
的txt文件,内容如下:
Hello, world!
This is an example.
Python is awesome.
运行以上代码,将会输出文件中的每一行内容。
筛选符合条件的字符串
接下来,我们将学习如何筛选出符合特定条件的字符串。假设我们希望筛选出包含单词”example”的行,我们可以使用in
关键字来判断字符串中是否包含特定的子字符串。
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
if 'example' in line:
print(line)
运行以上代码,将会输出包含”example”的行:
This is an example.
我们也可以通过正则表达式来进行更加复杂的匹配。假设我们希望筛选出包含数字的行,我们可以使用re
模块中的search()
方法来实现。
import re
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
if re.search(r'\d', line):
print(line)
运行以上代码,将会输出包含数字的行:
This is an example.
写入筛选结果到新文件
最后,我们可以将筛选出的结果写入到新的txt文件中。我们可以使用open()
函数中的不同模式来实现写入。
with open('example.txt', 'r') as file:
with open('output.txt', 'w') as output_file:
lines = file.readlines()
for line in lines:
if 'example' in line:
output_file.write(line)
运行以上代码,将会在当前目录下生成一个名为output.txt
的文件,其中只包含筛选出的包含”example”的行:
This is an example.
通过以上方法,我们可以轻松地筛选出txt文件中符合条件的字符串,并将结果保存到新的文件中,从而提高工作效率。