Python逐行读取文件方法
Python提供了用于创建、写入和读取文件的内置函数。python可以处理的文件有两种,普通文本文件和二进制文件,在本文中,我们晓得博客将带你了解Python逐行读取文件方法。推荐:Python文件方法
使用 readlines()
readlines() 用于一次性读取所有行,然后将它们作为列表中的字符串元素作为每一行返回。此函数可用于小文件,因为它将整个文件内容读取到内存中,然后将其拆分为单独的行。我们可以遍历列表并使用 strip() 函数去除换行符 ‘\n’ 字符。
例子:
L = ["晓得博客\n", "WordPress外贸建站\n", "Genesis主题建站\n"]
# writing to file
file1 = open('myfile.txt', 'w')
file1.writelines(L)
file1.close()
# Using readlines()
file1 = open('myfile.txt', 'r')
Lines = file1.readlines()
count = 0
# Strips the newline character
for line in Lines:
count += 1
print("Line{}: {}".format(count, line.strip()))
输出:
Line1:晓得博客 Line2:WordPress外贸建站 Line3:Genesis主题建站
使用 readline()
readline() 函数读取文件的一行并以字符串的形式返回。它需要一个参数 n,该参数指定将读取的最大字节数。但是,不会读取多于一行,即使 n 超过该行的长度。读取大文件时会很高效,因为它不是一次性获取所有数据,而是逐行获取。readline() 返回文件的下一行,其中最后包含一个换行符。此外,如果到达文件末尾,它将返回一个空字符串。推荐:Python基础08 函数
例子:
L = ["Pycharm教程\n", "WordPress外贸建站\n", "Genesis主题建站\n"]
# Writing to a file
file1 = open('myfile.txt', 'w')
file1.writelines((L))
file1.close()
# Using readline()
file1 = open('myfile.txt', 'r')
count = 0
while True:
count += 1
# Get next line from file
line = file1.readline()
# if line is empty
# end of file is reached
if not line:
break
print("Line{}: {}".format(count, line.strip()))
file1.close()
输出:
Line1:Pycharm教程 Line2:WordPress外贸建站 Line3:Genesis主题建站
使用 for 循环
open() 函数在打开文件时返回一个可迭代对象。逐行读取文件的最后一种方法包括在 for 循环中迭代文件对象。为此,我们利用了一个内置的 Python 函数,该函数允许我们使用 for 循环和可迭代对象的组合隐式迭代文件对象。更多循环内容可参考:Python基础07 循环
例子:
L = ["晓得博客\n", "WordPress外贸建站\n", "Genesis主题建站\n"]
# Writing to file
file1 = open('myfile.txt', 'w')
file1.writelines(L)
file1.close()
# Opening file
file1 = open('myfile.txt', 'r')
count = 0
# Using for loop
print("Using for loop")
for line in file1:
count += 1
print("Line{}: {}".format(count, line.strip()))
# Closing files
file1.close()
输出:
Line1:晓得博客
Line2:WordPress外贸建站
Line3:Genesis主题建站
with语句
在上述方法中,每次打开文件时都需要显式关闭它。如果忘记关闭文件,可能会在代码中引入几个错误,即文件中的许多更改在文件正确关闭之前不会生效。可以使用 with 语句来防止这种情况。Python 中的 With 语句用于异常处理,以使代码更清晰、更具可读性。它简化了文件流等公共资源的管理。观察以下代码示例,了解如何使用 with 语句使代码更清晰。与语句一起使用时无需调用 file.close() 。with 语句本身确保正确获取和释放资源。
例子:
L = ["Geeks\n", "for\n", "Geeks\n"]
# Writing to file
with open("myfile.txt", "w") as fp:
fp.writelines(L)
# using readlines()
count = 0
print("Using readlines()")
with open("myfile.txt") as fp:
Lines = fp.readlines()
for line in Lines:
count += 1
print("Line{}: {}".format(count, line.strip()))
# Using readline()
count = 0
print("\nUsing readline()")
with open("myfile.txt") as fp:
while True:
count += 1
line = fp.readline()
if not line:
break
print("Line{}: {}".format(count, line.strip()))
# Using for loop
count = 0
print("\nUsing for loop")
with open("myfile.txt") as fp:
for line in fp:
count += 1
print("Line{}: {}".format(count, line.strip()))
输出:
Using readlines() Line1: Geeks Line2: for Line3:Genesis主题建站 Using readline() Line1: Geeks Line2: for Line3:Genesis主题建站 Using for loop Line1: Geeks Line2: for Line3:Genesis主题建站
总结
以上是晓得博客为你介绍的Python逐行读取文件方法,处理文件是每个 Python开发人员都应该学习的一项重要技能,如果您想学习如何在 Python 中处理文件,需多用心。