本篇主要是讲的是文件的读写基本操作,包括文件的打开、读模式、写模式、文件指针、关闭等。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!
#01:文件的读写通过文件操作对象进行。file_object指的是文件对象,简称fo
#02:文件的打开(open)
1) 概述:用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
2) file_name:文件名字由“文件路径+文件后缀”组成
①相对路径:./当前位置 ; ../上一级
②绝对路径:根目录开始的
3)access_mode:文件的打开方式(读+写)一般情况下,读是缺省参数,默认只读模式
4)路径的三种写法:
①filedir=C:/Users/dengyuanyuan/Desktop/1.txt
②filedir=C:\\Users\\dengyuanyuan\\Desktop\\1.txt
③filedir=r'C:/Users/dengyuanyuan/Desktop/1.txt
5)书写格式:open(file_name , access_mode)
6)注意事项:
①open这个函数有返回值
②文件只读模式打开 , 如果文件不存在会报错
③文件中的换行是2个字符
④open操作完以后 , 记得关闭文件。即fo.close()
#03:文件的读操作(read)
1)概述:用于文件读取指定的字节数。
2)格式:fo.read()
①fo.read()#读全部字符内容
②fo.read(2)#读2个字符内容
注意事项:
①read这个函数有返回值
②只读模式read读出来的数据返回都是字符串
③read操作完以后 , 记得关闭文件fo.close()。关闭文件后不能再进行读写
#04:文件指针(tell)
1)概述:返回文件的当前位置,即文件指针当前位置。即接下来的读写操作开始的位置
2)获取文件指针位置:file_object.tell()
3)注意事项:
①tell这个函数有返回值
②正常python打开指针位置从0开始
#05:文件指针位置的移动(seek)
1)seek有三种模式:0 , 1 , 2
①0模式:从绝对0点开始的 , 绝对位置模式 ; 只适合文件只读模式 , 返回的值是字符串。一般针对文本文档(log、txt)
②1模式:当前位置相对往后移,以二进制格式打开一个文件。格式:rb。一般针对图片、音频、视频、pcap、html等形式文件
③2模式:从尾部开始计算位置,以二进制格式打开一个文件。格式:rb。一般针对图片、音频、视频、pcap、html等形式文件
2)格式:seek(移动的位数 , 模式)。正数向右移 ; 负数向左移
①file_object.seek(0,2)#移动到文件末尾
②file_object.seek(-2,2)#移动到文件倒数第二个字符
③file_object.seek(0)#移动到头(0缺省值)
④file_object.seek(2,1)#移动到当前指针往后2个字符
#06:read()、readline()和readlines()三者间的区别和用法
①read()方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,该方法返回一个字符串对象。
②readline()用于读取文件一行内容,该方法返回一个字符串对象。
③readlines()读取整个文件所有行,保存在一个列表(list)变量中。
#07:文件的写操作(w)
1)概述:向文件中写入指定字符串。
2)注意事项:
①如果文件不存在会新建 , 文件存在则会清空打开
②pycharm中只要运行结束 ,会自动写入
③文件的内容以字符串形式传入
④文件写完后,建议进行刷新写入操作 ; file_object.flush()
⑤写模式‘w’的同时不能进行读模式
#08:文件追加方式(a写模式)
1)概述:只是为了在文件末尾追加内容而打开文件
①如果文件存在,文件指针在文件的结尾②如果文件不存在,则创建一个文件
#09:读写打开模式(r+、w+、a+)
1)r+:为了读取并且写文件而打开文件。文件指针在文件的开头
①如果文件不存在会报错
2)w+:为了读取并且写文件而打开文件。文件指针在文件的开头
①如果文件不存在会新建一个文件②如果文件已存在其内容
会被清空3)a+:为了读取并且写文件而打开文件。文件指针在文件的结尾
①如果文件不存在会新建一个文件②如果文件已存在其内容
不会被清空
#10:操作多个文件(with open)
好处:可以打开多个文件 ; 可以省略close()操作