10.1 从文件中读取数据
文本文件可存储的数据量多的难以置信:天气数据交通数据,社会经济数据,文学作品等。每当需要升级或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说尤其如此。例如你可以编写一个这样的程序,都只有一个文本文件的内容,重新设置这些数据的格式,并将其写入文件,让浏览器能够显示这些内容。
要使用文本文件中的信息,首先需要将-信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以每次一行的方式逐步读取。
简单来说,数据很重要,存储很重要,读取使用全靠文件操作。
在这个程序中第一行代码做了大量的工作。先看函数open()。不要以任何方式使用文件——哪怕仅仅是打印机内容,都得先打开文件,这样才能访问它。函数open接受一个参数,要打开的文件名称。python在当前执行的文件所在的目录中查找指定的文件。在这个实例中,当前运行的是10.1.py,因此,在这个.py所在的目录中查找pi_digits.txt。函数open()返回一个表示文件的对象。在这里,open函数返回一个表示文件.txt的对象;python将这个对象存储在我们将在后面使用的变量中。
关键词with在不在需要防蚊圈后将其关闭。在这个程序中,注意到我们调用了函数open,但没有调用close。你也可以调用open和close来打开和关闭文件,但这样做的话,如果程序存在bug,导致close语句未执行,文件将不会关闭,这看似微不足道,但未妥善的关于文件可能会导致数据丢失或受损。如果在程序中过早的调用,你会发现,需要使用文件时,它已关闭(无法访问),这导致更多的错误,并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用前面所示的结构,可以让python去确定,你只管打开文件,并在需要的时候使用它,程序只会在合适的时候自动将其关闭。