Task09:文件
从文件中读取数据
文本文件可存储的数据量很多:天气数据、交通数据等。每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序来说尤其如此。例如,你可以编写一个这样的程序:读取一个文本文件的内容,重新设置这些数据的格式并将其写入文件,让浏览器能够显示这些内容。
要使用文本文件中的信息,首先需要将信息读取到内存中。为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。
读取整个文件
要读取文件,需要一个包含几行文本的文件。
关键字with在不再需要访问文件后将其关闭。在这个程序中,注意到我们调用了open(),但没有调用close();你也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存在bug,导致close()语句未执行,文件将不会关闭。这看似微不足道,但未妥善地关闭文件可能会导致数据丢失或受损。如果在程序中过早地调用close(),你会发现需要使用文件时它已关闭(无法访问),这会导致更多的错误。并非在任何情况下都能轻松确定关闭文件的恰当时机,但通过使用前面所示的结构,可让Python去确定:你只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭。
写入文件
保存数据的 简单的方式之一是将其写入到文件中。通过将输出写入文件,即便关闭包含程序输出的终端窗口,这些输出也依然存在:你可以在程序结束运行后查看这些输出,可与别人分享输出文件,还可编写程序来将这些输出读取到内存中并进行处理。
写入空文件
要将文本写入文件,你在调用open()时需要提供另一个实参,告诉Python你要写入打开的文
件。
filename = 'programming.txt'
with open(filename,
'w') as file_object:
file_object.write("I love
programming.")
写入多行
函数write()不会在你写入的文本末尾添加换行符。
filename ='programming.txt'
with open(filename, 'w') as file_object:
file_object.write("I love
programming.")
file_object.write("I love creating new
games.")
附加到文件
如果要给文件添加内容,而不是覆盖原有的内容,可以附加模式打开文件。以附加模式
打开文件时,Python不会在返回文件对象前清空文件,而写入到文件的行都将添加到文件末尾。如果指定的文件不存在,Python将创建一个空文件。
filename = 'programming.txt'
with open(filename,
'a') as file_object:
file_object.write("I also love
finding meaning in large datasets.\n")
file_object.write("I love creating apps that can run in a
browser.\n")