使用文件对象读取Python文件内容
1、使用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类型。例1:使用r模式打开并读取文本内容。

3、例2:使用r模式打开并读取二进制文件。

5、打开二进制文件的正确方式是使用‘rb’、‘rb+’等二进制打开模式。下面的代码是打开二进制文件的正确方式。

7、使用readline和方法读取文件内容readline只适合读取文本文件,它用于顺序读取文本文件的一行(读取下个行结束符之前的所有字符),读取的内容作为字符串返回。readline语法如下:content = fileobj.readline(size=-1);readline方法的size参数同read方法相同,也是用于指定需要从文件读取的字节数,默认值为-1,表示读至每行的结束符。如果设定了读取的字节数,readline读取size个字节后,可能会返回不完整的行。readline比较适合读取较大的文本文件,这些文件不适合一次性读入,而是边读取边处理文件。例3:使用文本文件初始化列表。

9、readline和readlines的区别readline和readlines的语法基本相同,但功能上有所区别。readlines会读取文件中的所有文本行,并返回一个字符串列表,适合于读取较小的文本文件。使用readlines方法可以简化例3的代码。因为readlines会读取文件中的所有文本行,因此不再需要设置一个布尔变量用于标记文件是否读取完成。同时readlines读取完成后返回一个字符串列表,对字符串列表的处理可以使用for …… in…… 语句进行处理。
