文件处理
格式
打开
f=open('a.txt',mode='r',encoding='utf-8')
读写
data=f.read()
print(data)
关闭
f.close()
流程分析:
1:向操作系统发起系统调用
2:操作系统打开这个文件,返回一个文件句柄给应用程序
3:在应用程序中把文件句柄赋值给一个变量
注意俩点:
1:打开一个文件对应俩部分,一个python级别的文件句柄,另外一个是操作系统打开的文件(默认打开文件的编码是以操作系统的编码为准的,除非open()指定encoding='编码')
2:当文件操作完毕后,应该回收俩部分资源
def f:回收应用程序资源(python解释器自动的垃圾回收机制已经替我们做了)
f.close:回收操作系统
上下文管理with
f=open('a.txt',mode='r',encoding='utf-8')
data=f.read()
print(data)
f.close()
with open('a.txt',mode='r',encoding='utf-8') as f:
print(f.read())
文件打卡模式
文件打开模式默认是只读‘r’
f=open('a.txt',encoding='utf-8')
print(f.read())把文件全部读到内存里面去
print(f.readline())一次只读取一行内容,
print(f.readable()) 打印出文件是只读模式 就True
注意print()打印默认会有换行符,取消换行符(print(f.readline(),end=' ')
print(f.readlines())读所有,把结果放到列表里面去
注意 readlines打开一个很大一个文件的时候,内存会使用率很大,导致电脑很卡,很卡。
文件的w模式,只写模式,如果文件存在则清空,如果文件不存在则新建,
f=open('a.txt',mode='w',encoding='utf-8')
print(f.read())-会报错,说不能读。
f.write('111\n')
f.writelines(['888\n','777\n','3333\n','222\n'])
f.close()
文件a模式:追加写模式,如果文件存在则光标移动到末尾,如果文件不存在则新建。