修改文件小练习
自己用list写的,原文件用的就是自动生成username的小程序:
with open('username.txt','a+',encoding='utf-8') as f: f.seek(0) all_new_user=[] for line in f: all_file=line.split(',') a_user=all_file[0] b_user=','.join(all_file) new_user='syz_'+a_user r_new_user=b_user.replace(a_user,new_user) print(r_new_user) all_new_user.append(r_new_user) f.seek(0) f.truncate() f.writelines(all_new_user)
老师用字符串写的:
# fw = open('username','w') # fw.write('hhhh') # fw.flush() #强制把缓冲区里面的数据写到磁盘上 #1、简单粗暴直接 # 1、打开一个文件,获取到他的所有内容 # 2、对内容进行修改 # 3、清空原来文件的内容 # 4、把新的内容写进去 #syz_niuhanyang,78910\nsyz_zll,78910\nsyz_fyr,78910 f = open('username','a+') f.seek(0) all_str = '' for s in f: new_s ='syz_'+s all_str=all_str+new_s f.seek(0) f.truncate() #清空文件内容 f.write(all_str) f.close()
老师用OS写的:
#打开2个文件 # a文件 # 写一行写到b文件 # a.txt a.txt.bak # 删掉a文件,b文件名字改成a文件名 # flower import os with open('words',encoding='utf-8') as fr,open('.words.bak','w',encoding='utf-8') as fw: for line in fr: new_line = line.replace('花','flower') fw.write(new_line) os.remove('words') #删除文件 os.rename('.words.bak','words') #改名