既然有了一个 File 对象,就可以开始从它读取内容。如果你希望将整个文件的内容读取为一个字符串值,就使用 File 对象的 read()方法。让我们继续使用保存在helloFile 中的 hello.txt File 对象。在交互式环境中输入以下代码:
>>> helloContent = helloFile.read()
>>> helloContent
'Hello world!'
如果你将文件的内容看成是单个大字符串,read()方法就返回保存在该文件中的这个字符串。或者,可以使用 readlines()方法,从该文件取得一个字符串的列表。列表中的每个字符串就是文本中的每一行。例如,在 hello.txt 文件相同的目录下,创建一个名为 sonnet29.txt 的文件,并在其中写入以下文本:
When, in disgrace with fortune and men's eyes,
I all alone beweep my outcast state,
And trouble deaf heaven with my bootless cries,
And look upon myself and curse my fate,
确保用换行分开这 4 行。然后在交互式环境中输入以下代码:
>>> sonnetFile = open('sonnet29.txt')
>>> sonnetFile.readlines()
[When, in disgrace with fortune and men's eyes,\n', ' I all alone beweep my
outcast state,\n', And trouble deaf heaven with my bootless cries,\n', And
look upon myself and curse my fate,']
请注意,每个字符串值都以一个换行字符\n 结束。除了文件的最后一行。与单个大字符串相比,字符串的列表通常更容易处理。