2.1.3 读取文件第一行(readline)
除了读取文件的所有内容以外,我们还可以获取文件的第一行,文件的第一行获取我们通过readline来进行获取,先看一个错误的示例。
# open函数中有一个位置参数,我们需要传file,文件名
f = open("love.txt", encoding="utf-8")
# 读取一个文件我们使用read,它可以获取文件内容
read_my_file = f.read()
print(read_my_file)
# 读取文件的第一行内容
first = f.readline()
print(f"获取的第一行的数据是{first}")
如上代码和结果显示,实际上没有打印任何的内容,Python是根据光标位置来读取数据的,主要的原因是因为当我们读取完文件的所有内容时,光标处于最末尾的位置,如果我们想要读取第一行的数据有两种方式,第一种是关闭文件重新进行读取,第二种是把光标移动到最初始的位置并进行读取,那么我们先行演示第一种方式:
# open函数中有一个位置参数,我们需要传file,文件名
f = open("love.txt", encoding="utf-8")
# 读取一个文件我们使用read,它可以获取文件内容
read_my_file = f.read()
# open函数也有返回值,返回的是一个文件对象
print(read_my_file)
# 关闭文件
f.close()
# 重新以utf-8的格式读取该文件
f = open("love.txt", encoding="utf-8")
# 读取文件的第一行内容
first = f.readline()
print(f"获取的第一行的数据是{first}")
除了直接关闭文件以外,我们也可以通过移动光标的方式达成目的,将光标位置移动至最开始的位置,使用seek函数:
# open函数中有一个位置参数,我们需要传file,文件名
f = open("love.txt", encoding="utf-8")
# 读取一个文件我们使用read,它可以获取文件内容
read_my_file = f.read()
# open函数也有返回值,返回的是一个文件对象
print(read_my_file)
# # 关闭文件
# f.close()
# 重新以utf-8的格式读取该文件
f = open("love.txt", encoding="utf-8")
# 将光标移动到最初始的位置
"""
seek后接了0是代表的在光标的最初始位置,1和2并非代表第二个,第三个位置,每个数字有不同的含义,通常而言自动化测试用的更多的是0
如果有需要扩展的小伙伴可以深入了解
"""
f.seek(0)
# 读取文件的第一行内容
first = f.readline()
print(f"获取的第一行的数据是{first}")