文件操作
open()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数
格式:
open(file_name[,accesss_mode][,buffering])
1、file_name:文件路径,必传参数
2、accesss_mode:打开文件的模式(只读(r),写入(w),追加(a)等,默认为只读(r))。非必传
3、buffering:为0表示不会寄存。为1会寄存行。如果大于1的整数,表明了是寄存区的缓存区的缓存大小。如果取负值,寄存区的缓存则为系统默认。非必传
文件操作常用方法
对于file文件的使用流程:打开文件--读或者写--关闭文件
1、打开文件:f=open(文件名,模式)
2、写:f.write(写入的文本内容)
3、读:f.read([字符数量])
弊端就是当文件很大的时候,将文件中的内容全部读取,存放在内存中这样会导致内存奔溃。
f.readline()
读取当前光标的后一行内容
读取出来的数据在后面都有一个\n,读取之后会自动换行。
f.readlines()
读取所有内容,结果储存在列表,每行是一个元素
如果文件很大,占内存,容易崩盘
注:
如果文件很大,不推荐用read(),readlines()这两种方法,以上方法都是将文件一次性全部读取到内存中,内存容易奔溃占内存,容易崩盘。
推荐用readline(),或者循环的方式
4、关闭文件
f.close()
access_mode参数
access_mode参数有:
w 打开一个文件只用于写入,如果文件存在,清空文本内容再写入,否则新建文件后写入内容
wb 以二进制格式打开一个文件只用于写入
w+ 打开一个文件用于读写。如果文件存在,清空文本内容再写入,否则新建文件后写入内容
a 打开文件追加内容,存在文件,在文件原内容后增加,文件不存在则报错
a+ 打开一个文件用于读写。存在文件,在文件原内容后增加,文件不存在则新建文件并写入
ab 以二进制格式打开一个文件用于追加,存在文件,在文件原内容后增加,否则新建写入
ab+ 以二进制格式打开一个文件用于读写。存在文件,在文件原内容后增加,否则新建用于读写
r 以只读方式打开文件。文件的指针将在文件开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。一般用于非文本文件如图片等
r+ 打开一个文件用于读写(文件的指针将在文件开头)
r+ 模式,读写
对于读写模式,必须是先读后写,因为光标默认在开头位置,当读完以后再进行写入。频率最高的模式就是r+
注:
在r+模式下,如果读取了内容,不论读取内容多少,光标显示的是多少,再写入或操作文件的时候都是在结尾进行的操作
r+只会读到原有内容,不会读到写入的内容
f.seek(光标移动的位置):控制光标移动的位置
file模式总结
通过使用with..open..as...不用手动关闭文件。当执行完内容后,自动关闭文件。
语法结构:
with open(路径,打开文件方式,encoding='utf-8') as 变量:
代码块-r+,读写
问问
标签:文件,打开,读取,读写,写入,内容,file,txt From: https://blog.51cto.com/u_16324710/8501791