python-----文件读写

#1 文件操作步骤
# 1)打开文件获取文件的句柄
# 2)通过文件句柄操作文件
# 3)关闭文件。(文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的)
f=open('1.txt','r+',encoding='utf-8')
#print(f.read())
f.close()
#2 如果使用 with open 它会在使用完这个文件句柄之后,自动关闭该文件
#with open('1.txt','r+',encoding='utf-8') as f:
# print(f.read())
#3 打开文件的模式
# r,只读模式(默认)
# w,只写模式(不可读;不存在则创建;存在则删除内容)
# a,追加模式(不可读; 不存在则创建;存在则只追加内容)
# +,表示可以同时读写某个文件
# rb,表示处理二进制文件,只读模式
# wb,表示处理二进制文件,只写模式
# ab,表示处理二进制文件,追加模式

#4 文件操作方法
#f.readline()---读一行,返回字符串
#f.read()-------读取所有内容,返回字符串,大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
#f.readlines()--读取所有内容,返回list,元素是每行的数据,大文件时不要用,因为会把文件内容都读到内存
#f.write('***')--写入内容
#f.writelines(['test1','test2'])#将一个列表写入文件
#f.tell()-------获取当前文件的指针指向
#f.seek(0)------把当前文件指针指向哪
#f.fulsh()------写入文件后,立即从内存中把数据写到磁盘中
#f.truncate()----清空文件内容
#f.readable()----判断文件是否可读
#f.writable()----判断文件是否可写
#f.encoding------打印文件的编码

#5 大文件操作,使用read()和readlines()方法操作文件,先把文件所有内容读到内存中,这样的话,内存数据增多,非常卡,
# 高效的操作,就是读一行操作一行,读过的内容就从内存中释放了
with open('1.txt','r+',encoding='utf-8') as f:
for line in f:
print(line)

# 操作两个文件 一个读,一个写,一行一行操作,节省内存
with open('1.txt','r+',encoding='utf-8') as fr, open('2.txt','r+',encoding='utf-8') as fw:
for line in fr:
fw.write(line)

#6 修改文件:
#方式一:把文件的全部内容都读到内存中,然后把原有的文件内容清空,重新写新的内容
with open('1.txt','r+',encoding='utf-8') as f:
src=f.read()
new_src=src.replace('我','me')
fr.write(new_src)
#方式二:把修改后的文件内容写到一个新的文件中
with open('1.txt','r+',encoding='utf-8') as fr, open('2.txt','r+',encoding='utf-8') as fw:
for line in fr:
new_line=line.replace('我','me')
fw.write(new_line)
posted @ 2018-10-30 13:26  文城清枫  阅读(147)  评论(0编辑  收藏  举报