Python中的r+和a+
2018-04-23 18:11 钱先生 阅读(1840) 评论(1) 编辑 收藏 举报问题描述
我打算更改文件user_list2中的内容, 本来的想法是加一个temp 文件. 先把user_list2的内容读取并修改后写入temp, 之后再写回来.
但是在读取内容并修改后写入temp这一段, 就因为r+ 和a+的问题产生了困扰.
1 def replace(arg1): 2 for line in user_list2.readlines(): 3 if name == line.split(',')[0]: 4 line = line.replace(line.split(',')[2], arg1+'\n') 5 temp.write(line) 6 else: 7 temp.write(line) 8 9 10 #TODO r+ /a+说是可读可写,但是下面这段代码, 如果把user_list2改成a+模式, 则文件的数据并没有读取成功. 11 # r+, a+到底是怎么工作的 12 13 14 15 user_list2 = open('user_list2', 'r+', encoding='utf-8') 16 temp = open('temp', 'a+', encoding='utf-8') 17 18 name = input('name') 19 replace('5000') 20 21 user_list2.close() 22 temp.close()