修改文件

修改文件

修改文件有两种方式,一种简单粗暴直接,把文件的全部内容读到内存中,然后把原有的文件内容清空,重新写新的内容

1、打开一个文件,获取到它的所有内容(磁盘-> 内存)
2、对内容进行修改
3、清空原文件内容
4、把新的内容写进去

#简单粗暴修改
f = open('users','a+')f.seek(0)all_str = f.read() #打开一个文件,获取到所有内容

new_str= all_str.replace('123456','456782') #对内容进行修改
f.seek(0) #读完后,指针又指向文件末尾了,如果不重新seek,下面的清空文件不会清空指针之前的内容

f.truncate() #清空文件内

f.write(new_str) #写进新的内容

f.close()
f = open('users','a+')

f.seek(0)

all_str = ''

for i in f: # print(i) xiaomeng,123456 lily,123456
new_s = 'syz_'+i #给原来的用户加一个syz_

all_str = all_str+new_s #一次循环只能加一个,循环完一次把前面循环加的都加上

f.seek(0)

f.truncate()

f.write(all_str)

f.close()

第二种是把修改后的文件内容写到一个新的文件中

1、打开2个文件
2、a文件,读取一行
3、写一行写到b文件
4、a.txt a.txt.bak
5、删掉a文件,把b文件的文件名改为a文件名

#打开2个文件   1修改一行a文件  就写一行到b文件    2  删除a文件  b文件名改成a文件名
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('','one')
        fw.write(new_line)
os.remove('words')  #删除文件
os.rename('.words.bak','words')#改名

猜你喜欢

转载自www.cnblogs.com/nuobao/p/9077259.html