read() 函数从当前位置开始读,读出指定个数的字符。其返回值是一个字符串,表示读取的文件内容。

参数 size 如果为正数,表示最多读出 size 个字符;如果 size 为 0,则什么也不会读出,返回值是空字符串;如果 size 为负数,表示读出全部的内容。size 的默认值是 -1,表示读出全部的内容。

下面的例子演示了不指定 size 的值而使用默认值 -1 的情况。

>>> fd = open("in.dat", "r") # 以只读方式打开文件in.dat

>>> ret_str = fd.read() # 将所有文件内容读到ret_str,size=-1

>>> type(ret_str) # 返回值类型是字符串

>>> len(ret_str) # 字符串长度为68

68

>>> print(ret_str) # 显示文件内容

this is input text file

it contains 3 lines

this is the end of file

>>> fd.close() # 关闭文件

下面演示指定 size,并且 size 为正数的情况。

>>> fd = open("in.dat", "r") # 以只读方式打开文件in.dat

>>> str1 = fd.read(40) # 读入最多40个字符,保存到str1中

>>> str2 = fd.read(40) # 读入最多40个字符,保存到str2中

>>> len(str1) # str1包含40个字符

40

>>> len(str2) # str2包含28个字符,总共是68个字符

28

>>> print(str1+str2) # 将str1和str2连接起来,就是文件的完整内容

this is input text file

it contains 3 lines

this is the end of file

>>> fd.close() # 关闭文件

如果到了文件的尾部,则返回空字符串。

>>> fd = open("in.dat", "r") # 以只读方式打开文件in.dat

>>> str1 = fd.read() # 读出全部内容

>>> str2 = fd.read() # 这时已经到了文件的尾部

>>> type(str2) # 返回值类型是字符串

>>> len(str2) # str2的长度为0,所以是空字符串

0

>>> fd.close() # 关闭文件