当我们python程序执行完毕后,所有存储在内存中的数据全部会丢失,如果需要将程序运行结果持久的保存下来,就需要通过文件来进行保存数据。
文件按照存储的种类可以分为:文本文件和二进制文件。
文件是以字符编码的方式进行存储;而二进制文件就是以二进制格式存储,将内存中的数据原封不动的存储到文件中,适用于非字符为主的数据,如图片、视频等是以二进制方式进行保存,如果用记事本打开这类文件,我们会看到乱码。
文件的操作主要包含:文件的创建、读取、写入、复制和删除等常用操作。
Python中文件创建,读取,写入和关闭主要通过open函数来实现。
1、创建一个文件
文件的创建
2、读取文件内容
文件的读取
如果一个文件超过4G,如果尝试一次全部加载,可能造成计算机瘫痪,因此如果文件太大,我们可以在文件对象的read方法中指定一次读取的字符串。
文件对象的其他读取方法:readline()和readlines()
在我的电脑D盘有一个ayong.txt文件,我向文件写入内容如下,然后进行保存。
调用一次readline就读取一行内容,如下图所示:
调用readlines方法可一次读取所有内容并按行返回列表类型,也就是说返回的是列表类型,列表中的每个元素就是文件中的某一行。
3、 文件关闭
文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开文件数量也是有限的,通过调用文件对象的close方法关闭文件。
如果Python读取文件出现乱码,可以设置指定的编码进行读取,例如读取gbk编码文件。
操作完文件都需要去关闭文件有点繁琐,Python引入了with语句来自动帮我们调用close()方法。
4、 文件写入
向文件写入内容,我们可以使用"w"模式写入内容,也可以采用"a"模式写入。两者的主要区是:"w"模式会先清空原文件内容,然后在写入指定内容,而"a"模式则是在原文件内容的末尾进行追加内容。相同点在于检测到文件不存在,都会自动创建文件。
注意:在w模式下和a模式下只能进行写入操作,不能进行读取操作,如果你既要写入又要读取,可以在w或a模式后添加一个" "号,即为"a "或"w 模式"。示例如下:
文件读取或写入是根据文件的游标指定位置开始操作,执行写操作后,游标会指向写入内容的末尾,此时如果你执行读取操作,会从文件末尾读取就什么也读不到,所有调用文件对象的seek方法使游标跳转到文件开头,参数0表示从文件开头的第0个字符开始操作。
5、 删除文件
删除文件,需要使用os模块中的remove方法实现文件的删除操作。
6、 复制一个文件
如果将文件复制一份到其它地方。示例代码如下:
7、 读取一个二进制文件
读取二进制文件,图片文件就是一个二进制形式文件,读取的时候将模式改为rb模式。示例代码如下:
以上是python常用的文件操作,老铁们喜欢的话,帮忙点个赞!有你们的支持,勇哥会更加努力!