我:小哥哥,之前的文件操作我不是很懂,能详细讲一下吗?
惨绿青年:既然你诚心诚意地问了,我就大发慈悲告诉你吧。
我:???
惨绿青年:开个玩笑嘛,眼睛不要瞪这么大。
惨绿青年:文件操作其实很简单,使用内置的open()函数就可以了。open()常用的参数有3个,第一个是file,也就是文件名,第二个是mode,表示操作的模式,第三个是encoding,表示打开文件的编码。如下图所示:
惨绿青年:file参数一般放在第一位,这个就不多说了。mode的话主要有r,w,a这三种,默认是r。r是read的首字母,代表读取文件的模式;w是write的首字母,代表写入文件的模式;a是append的首字母,代表追加写入的模式。我们先新建一个txt文件测试一下。
通过file对象可以对文件进行各种操作
惨绿青年:文件对象有几个常用的方法,file.write(),file.writelines(),file.read(),file.readline(),file.readlines(),file.close()。下面来看看具体用法。
write()
writelines()
read()
有一个换行符'\n',所以只有两个文字
readline()
readlines()
惨绿青年:接下来说一下模式,r是只读模式,只能读取文件,其它的操作都会报错。r的衍生模式r+是读写模式,可以进行读取和写入操作。推荐先进行读取操作,否则会先把写入的内容写在文件开头,而且会覆盖掉原有内容。
r+模式
惨绿青年:w是只写模式,只能写入文件,而且会清除掉原有内容再写入,其它的操作都会报错。w的衍生模式是w+写读模式,可以进行读取和写入操作,但什么东西都读取不到。
w+
惨绿青年:a是追加模式,只能写入文件,但和w模式不同,a模式不会清除原有的内容,写入的内容会在原内容的结尾添加。a的衍生模式是a+追加读模式,可以进行读取和写入操作,但什么东西都读取不到。
a+
惨绿青年:使用完文件后,记得调用close()方法关闭文件。但python提供另一种方便的方式去操作文件,那就是使用with关键字。如下图所示,打开文件的操作在with语句的代码块里,使用完后文件会自动处理。
with语句
惨绿青年:上面说过的模式后面加个“b”能读写图片、视频等文件,因为这些文件的内容不是文字。例如rb、wb、ab。
我:哦~原来文件是这样操作的,我要多多练习才行~