python文件操作

使用open函数可以打开文件并返回一个文件对象,返回的文件对象用来读取和写入文件内容。那么,如何使用文件对象来读取文件内容呢?如何让读取的文件内容初始化一个Python列表呢?

文本文件和二进制文件

使用文件对象读取文件内容时,要根据文件的不同存储类型选择不同的读取方式。一般来说,文件的存储类型主要分为文本文件和二进制文件两大类。文本文件就是可以用记事本打开的文件,文本文件主要存储了文字信息及换行符等控制符号,任何程序都可以打开文本文件并能正确显示文件内容;二进制文件主要是以二进制方式来存储内容,二进制文件很难被用户或其它程序理解,读取后也无法正确显示,只有创建它的程序才能够正确读取和显示,如DOC文档、图片文件、音视频等文件。

文件对象提供了三种读取文件内容的方法,分别是read、readline、readlines。其中read方法即可以读取文本文件也可以读取二级制文件,readline和readlines方法只能读取文本文件。下面分别予以说明。

使用read方法读取文件内容

read方法按字节读取文件内容,可以设定读取的字节数,read语法如下:

content = fileobj.read(size=-1);

read方法的size参数用于指定需要从文件读取的字节数,如果调用read方法时,没有给出size参数(默认值为-1),文件内容会被全部读取。read会把读取的文件内容存储到content变量,content变量的类型与open函数使用的文件打开模式有关,如果open函数以默认的文本模式打开,content变量为字符串类型,如果以二进制模式打开,content变量为byte类型。

使用readline和方法读取文件内容

readline只适合读取文本文件,它用于顺序读取文本文件的一行(读取下个行结束符之前的所有字符),读取的内容作为字符串返回。readline语法如下:

content = fileobj.readline(size=-1);

readline方法的size参数同read方法相同,也是用于指定需要从文件读取的字节数,默认值为-1,表示读至每行的结束符。如果设定了读取的字节数,readline读取size个字节后,可能会返回不完整的行。readline比较适合读取较大的文本文件,这些文件不适合一次性读入,而是边读取边处理文件。

readline和readlines的区别

readline和readlines的语法基本相同,但功能上有所区别。readlines会读取文件中的所有文本行,并返回一个字符串列表,适合于读取较小的文本文件。

原文地址:https://www.cnblogs.com/yizhixiang/p/11780031.html