1.文件:是操作系统提供的概念
2. open(r+'文件路径' , '打开方式' , '用什么字符编码') #r 表示原始字符串
eg:open(r'C:Users13264Desktopaaaa.py','r',encoding='utf-8')
3.文件打开:
f=open(r'aaaa.py')
这个过程等于干了两件事:第一是操作系统打开文件,第二是在内存中开空间存一个变量
4.文件回收:
f.close # 这是在关闭操作系统级别占有的内存
5.文件的处理方法:
①文本文件:只读模式,文件不存在报错
read readable readline readlines
扩展:光标的移动seek
②文本文件:只写模式,文件不存在会创建,文件存在则会清空文件内容
write writeable writelines
③文本文件:只追加写模式, 'a' ,文件不存在则创建,存在则在文本最后添加内容
④b模式:bytes模式
#rb
# f=open('aaaa.py','rb')
# print(f.read().decode('utf-8'))
# f=open('1.jpg','rb')
# data=f.read()
#wb
# f=open('2.jpg','wb')
# f.write(data)
# f=open('new_3.txt','wb')
# f.write('aaaaa '.encode('utf-8'))
#ab
f=open('new_3.txt','ab')
f.write('aaaaa '.encode('utf-8'))
6.上下文管理:不用担心文件的close
# with open(r'aaaa.py','r',encoding='utf-8') as read_f,
# open(r'aaaa_new.py','w',encoding='utf-8') as write_f:
# data=read_f.read()
# write_f.write(data)
7.#循环取文件每一行内容
with open('a.txt','r',encoding='utf-8') as f:
# while True:
# line=f.readline()
# if not line:break
# print(line,end='')
# lines=f.readlines() #只适用于小文件
# print(lines)
for line in f: #推荐使用
print(line,end='')
8.文件的修改
#方式一:只适用于小文件
# import os
# with open('a.txt','r',encoding='utf-8') as read_f,
# open('a.txt.swap','w',encoding='utf-8') as write_f:
# data=read_f.read()
# write_f.write(data.replace('alex_SB','alex_BSB'))
#
# os.remove('a.txt')
# os.rename('a.txt.swap','a.txt')
#方式二:
import os
with open('a.txt','r',encoding='utf-8') as read_f,
open('a.txt.swap','w',encoding='utf-8') as write_f:
for line in read_f:
write_f.write(line.replace('alex_BSB','BB_alex_SB'))
os.remove('a.txt')
os.rename('a.txt.swap','a.txt')