我们正在尝试实施基于文件的学生记录计划。我们实施了阅读和写作(追加记录)功能。但是现在我们有兴趣通过学生ID更新特定记录。我们已经尝试使用replace()函数来替换记录,但这最终会替换文件中所有出现的数据,这使得它变得模棱两可。我们还尝试使用seek()编写数据,但它没有多大帮助。示例代码如下。
import fileinput
import sys
for i,line in enumerate(fileinput('file_name.txt', inplace=1)):
sys.stdout.write(line.replace('old','new')
任何帮助都应该很棒。
答案 0 :(得分:0)
假设您的输入文件是
1:Naveen Kumar:Chennai
2:Joseph Nirmal:Bangalore
并且您想要将学生ID [{1}}的名称更改为2
,然后以下代码应该
Joseph Nirmal Kumar
然后文件将变为
import fileinput
import sys
# change name for student 2
for line in fileinput.input('records.txt', inplace=1):
id,name,location = line.split(':')
if id == '2':
sys.stdout.write('{}:{}:{}'.format(id,'Joseph Nirmal Kumar',location))
else:
sys.stdout.write(line)
希望有所帮助。我建议尝试python
中提供的其他data persistence选项