Python3学习笔记 : python文件操作的read()、readline()、readlines()

一、简介

类型 描述
read 读取
readline 行读取
readlines 多行读取

测试用的文件

# test.txt文件内容
aaaaa
bbbbb
ccccc
ddddd

二、read

格式:read(size=-1)
描述:

  • 每次读取整个文件,以字符串的形式返回。
  • size 表示读取的多个字符或者字节;负数或者 None 表示读取到 EOF

示例:

with open('E:/test.txt', 'r') as f:
    content = f.read()
    print(content)
    print(type(content))

执行结果

aaaaa
bbbbb
ccccc
ddddd

三、readline

格式:readline(size=-1)
描述:

  • 一行行读取文件内容。
  • size设置一次能读取行内几个字符或字节。

示例:

with open('E:/test.txt', 'r') as f:
    print(f.readline())   # 读取第一行。结尾有换行符,再加上print函数的换行符,故有间隔空行
    print(f.readline(3))  # 读取第二行3个字符
    print(f.readline())   # 继续读取,直到读取到一行结束
    print(f.readline())
    print(f.readline())   # 结尾没有换行符,所以和最后一行没有间隔空行。
    print('----end----')

执行结果

aaaaa

bbb
bb

ccccc

ddddd
----end----

四、readlines

格式:readlines(hint=-1)
描述:

  • 读取所有行,返回每行内容的列表。
  • 指定hint(字符位置,从头开始计算),控制返回的行数。如果超出字符总长度,则不再继续读取。
    • 当hint的数值位置在某行内时,返回其所在的行,及它前面的行。
    • 当hint的数值位置在某行尾时,返回前面的所有行,也返回下一行。

示例:返回所有行的列表

with open('E:/test.txt', 'r') as f:
    print(f.readlines())

# 执行结果
['aaaaa\n', 'bbbbb\n', 'ccccc\n', 'ddddd']

示例:hint的控制

# 当hint的数值位置在某行内时,返回其所在的行,及它前面的行。

with open('E:/test.txt', 'r') as f:
    print(f.readlines(5))


# 执行结果
['aaaaa\n']
# 当hint的数值位置在某行尾时,返回前面的所有行,也返回下一行。

with open('E:/test.txt', 'r') as f:
    print(f.readlines(6))

# 执行结果
['aaaaa\n', 'bbbbb\n']

注意:Note that it’s already possible to iterate on file objects using for line in file: ...without calling file.readlines().(摘自官方文档)
在对文件迭代时,尽可能使用

for line in file:
    pass

你可能感兴趣的:(Python3学习笔记)