如何更新python中的文件之间的记录

时间:2017-06-19 06:17:38

标签: python-3.x

我们正在尝试实施基于文件的学生记录计划。我们实施了阅读和写作(追加记录)功能。但是现在我们有兴趣通过学生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')

任何帮助都应该很棒。

1 个答案:

答案 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选项