5.1 文件的处理机制
5.2 文件打开的模式
5.1 文件的处理机制
打开
f=open(‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘) #变量赋值
读/写
data=f.read()
print(data)
关闭
f.close() #回收操作系统的资源
del f #回收python资源,python回收机制自动处理,不用写
print(f)
流程分析:
1:向操作系统发起系统调用
2:操作系统打开这个文件,返回一个文件句柄给应用程序
3:在应用程序中把文件句柄赋值给一个变量
注意两点:
1:打开一个文件对应两部分,一个Python级别的文件句柄,另外一个是操作系统打开的文件(默认打开文件的编码是以操作系统的编码为准的,除非open()指定encoding=‘编码‘ )
2:当文件操作完毕后,应该回收两部分资源,
del f:回收应用程序资源(python解释器自动的垃圾回收机制已经替我们做了)
f.close:回收操作系统
上下文管理with 自动关闭系统的占用f.close()
with open(‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘) as f:
print(f.read())
5.2 文件打开的模式
5.2.1 读 r
读操作: r只读模式,默认是rt文本读
f=open(‘a.txt‘,‘r‘,encoding=‘utf-8‘)
data1=f.read()
print(‘=1===>‘,data1)
去掉读取一行后的换行符
print(f.readlines())
print(f.readline(),end=‘‘) #去掉读取一行后的换行符
f.close() #文件关闭,回收操作系统的资源
5.2.2 写 w
写操作:w只写模式,默认是wt文本写,如果文件不存在则创建,存在则清空+覆盖
f=open(‘a.txt‘,‘w‘,encoding=‘utf-8‘)
f.write(‘11111\n‘)
f.write(‘222222\n‘)
f.write(‘1111\n2222\n3333\n‘)
f.writelines([‘哈哈哈哈\n‘,‘你好‘,‘alex‘])
f.close()