Python逐行读取文件四种方法

Python逐行读取文件方法

Python逐行读取文件方法

  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 循环

python-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-open语句

  在上述方法中,每次打开文件时都需要显式关闭它。如果忘记关闭文件,可能会在代码中引入几个错误,即文件中的许多更改在文件正确关闭之前不会生效。可以使用 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 中处理文件,需多用心。

  推荐:零基础如何开始学习Python


晓得博客,版权所有丨如未注明,均为原创
晓得博客 » Python逐行读取文件方法

转载请保留链接:https://www.pythonthree.com/read-a-file-line-by-line-in-python/

滚动至顶部