文件输入与输出之文本文件和二进制文件,,


  文本文件和二进制文件

  到目前为止,打开文件和读取文本行的所有例子都有一个假设,认为文件中实际上都包含有文本。要记住,文件能够存储任何内容,文本只是其中的一种,程序员把所有其他类型的文件都统称为二进制文件(binary file)。

  可以打开的文件主要有以下两种类型。

  文本文件:这些文件包含了文本,包含字母、数字、标点符号和一些特殊字符,如换行符。

  二进制文件:这些文件不包含文本,它们可能包含音乐、图片或其他类型的数据,不过由于不包含文本,所以这些文件中也没有行,因为根本不存在换行符。

  这说明不能对二进制文件使用readline()或readlines()。例如,如果想要从一个.wav文件读取一“行”,你根本无法知道会得到些什么,大多数情况下,你可能会得出一大堆奇怪的东西,就像这样:

  与孩子一起学编程-python教程

  .wav文件最前面有一些东西看起来像是文本,不过后面就很莫名其妙了,这是因为.wav文件不包含文本,只包含声音。readline()或readlines()方法只能用于读取文本文件。

  大多数情况下,如果需要使用二进制文件,就要能过Pygame或其他一些模块来加载文件,就像在第19章中一样。

  与孩子一起学编程-python教程

  那样就会由Pygame负责打开文件并读取二进制数据(在这个例子中,二进制数据就是音乐)。

  这本书不打算介绍如何处理二进制文件,不过没准你想知道二进制是什么样子,可以为文件模式增加一个b来打开二进制文件,就像这样:

  与孩子一起学编程-python教程

  这里的’rb’部分表示我们要打开文件并以二进制模式读取文件。

  在前面几节中,我们已经了解了如何将信息从文件读入程序,这称为读文件,接下来我们要学习如何将程序的信息放入到文件中,这称为写文件。

评论关闭