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) # 返回值类型是字符串
<class '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) # 返回值类型是字符串
<class 'str'>
>>> len(str2) # str2的长度为0,所以是空字符串
0
>>> fd.close() # 关闭文件