假設一個文件已經存在,內容如下:
mr mr
ms ms
ex ex
現在要給這個文件中的mr一行加入一個標志,代表鎖定狀態,即期望加上此標志的內容如下:
mr mr Lock
ms ms
ex ex
使用如下代碼對文件進行重寫:
user_write=[]
user_read=open("user_msg.txt","r") for line in user_read.readlines(): sign_user_line=line.strip().split("\t") if sign_user == sign_user_line[0]: line=line.strip()+"\tLock" user_write.append(line) user_read.close() user_write_file=open("user_msg.txt","w") for i in range(0,len(user_write)): user_write_file.writelines(user_write[i]) user_write_file.close()
寫完以后文件卻變成了
mr mr
Lock ms ms
ex ex
后經排查得知源文件每行后面其實都有一個回車鍵進行換行操作,對文件進行重寫時,默認仍舊存在此鍵值,因此更改代碼如下就正常了:
user_write=[]
user_read=open("user_msg.txt","r") for line in user_read.readlines(): sign_user_line=line.strip().split("\t") if sign_user == sign_user_line[0]: line=line.strip("\n")+"\tLock\n" user_write.append(line) user_read.close() user_write_file=open("user_msg.txt","w") for i in range(0,len(user_write)): user_write_file.writelines(user_write[i]) user_write_file.close()