Python:读取文件 read 函数

Lasted 2020-01-18 09:40:39

Python 的 open 方法返回一个文件对象,文件对象的 read 方法用于读取文件内容。

read 函数是返回字符串或者二进制文件,取决于 open 函数打开的模式,文本模式下返回字符串,二进制模式下返回字节对象。

说明

file.read(size)
size
可选参数。当 size 缺省或为负数时,将读取并返回整个文件内容。当取其他值时,将返回至多 size 个字符或者 size 个字节。

如果已到达文件末尾,f.read() 返回一个空字符串,可用于判断文件是否读完。

范例

读取文件内容

#!/usr/bin/env python3

with open('docsxyz.md') as f:
  content = f.read()

print(content)
docsxyz.com
docsxyz
注意:如果读取的文件是内存的两倍会出现问题。

读取3个字符

#!/usr/bin/env python3

with open('docsxyz.md') as f:
  content = f.read(3)

print(content)
doc

读取一行数据

f.readline() 函数从文件中读取一行数据,换行符(\n)留在字符串末尾。如果文件不以换行符结尾,则在文件的最后一行省略。

#!/usr/bin/env python3

with open('docsxyz.md') as f:
  content = f.readline()

print(content)
docsxyz.com

循环读取数据

要从文件中读取行,你可以循环遍历文件对象。这是内存高效,快速的。

#!/usr/bin/env python3

f = open('docsxyz.md')
for line in f:
  print(line, end='')
	
f.close()

列表读取数据

如果你想以列表的形式读取文件中的所有行,你也可以使用 list(f)f.readlines()

#!/usr/bin/env python3

f = open('docsxyz.md')
print(list(f))
['docsxyz.com\n', 'docsxyz\n']