python中txt查找第一个出现的指定数字,覆写数据
在Python中,我们经常需要对文本文件进行查找和处理。在本文中,我们将讨论如何在txt文件中查找第一个出现的指定数字,并且将其替换为新的数据。
读取txt文件并查找指定数字
首先,我们需要读取txt文件并查找其中的指定数字。我们可以使用open
函数打开txt文件,并使用readlines
方法读取每一行的内容。然后我们可以使用正则表达式来查找数字。
下面是一个示例的Python代码:
import re
def find_number(filename, target_number):
with open(filename, 'r') as file:
lines = file.readlines()
for line in lines:
match = re.search(r'\d+', line)
if match:
number = int(match.group())
if number == target_number:
return line
filename = 'data.txt'
target_number = 5
result = find_number(filename, target_number)
print(result)
假设我们的txt文件data.txt
内容如下:
1 2 3
4 5 6
7 8 9
运行上面的代码,将会输出:
4 5 6
覆写数据
一旦我们找到了指定数字所在的行,我们就可以对其进行覆写了。我们可以使用fileinput
模块来实现这一点。
下面是一个示例的Python代码:
import fileinput
def overwrite_data(filename, target_line, new_data):
with fileinput.input(filename, inplace=True) as file:
for line in file:
if target_line in file.filename():
print(new_data)
else:
print(line, end='')
filename = 'data.txt'
target_line = '4 5 6'
new_data = '10 11 12'
overwrite_data(filename, target_line, new_data)
运行上面的代码,将会覆写指定行的数据。现在data.txt
文件的内容变为:
1 2 3
10 11 12
7 8 9
总结
在本文中,我们讨论了如何在Python中查找txt文件中的指定数字,并覆写数据。通过使用正则表达式和fileinput模块,我们可以轻松地实现这一功能。