Python程序读取文件的前n行
在本文中,我们将展示如何使用Python读取并打印给定N值的文本文件的前N行。
假设我们有一个名为ExampleTextFile.txt的文本文件,包含一些随机文本。我们将返回给定N值的文本文件的前N行。
ExampleTextFile.txt
Good Morning Tutorials Point
This is Tutorials Point sample File
Consisting of Specific
abbreviated
source codes in Python Seaborn Scala
Imagination
Summary and Explanation
Welcome user
Learn with a joy
算法(步骤)
要执行所需的任务,需要遵循以下算法/步骤:
- 创建一个变量来存储文本文件的路径。
-
输入N值而打印出文件的前N行。
-
使用 open() 函数(打开一个文件并返回一个文件对象作为结果)打开只读模式的文本文件,将文件名和模式作为参数传递给它(这里“r”表示只读模式)。
with open(inputFile, 'r') as filedata:
- 使用 readlines() 函数(返回一个列表,其中文件中的每一行都表示为列表项。要限制返回的行数,请使用hint参数。如果返回的字节总量超过指定的数字,则不会返回更多的行)来获取给定输入文本文件的行列表。
file.readlines(hint)
- 遍历行列表以检索文本文件的前N行,使用 slicing (使用片段语法,可以返回一系列字符。为返回字符串的一部分,请指定开始和结束索引,用冒号分隔).这里的linesList[:N]表示从起点开始到N(不包括最后一个Nth行,因为索引从0开始)的所有行。
for textline in (linesList[:N]):
-
按行打印文件的前N行。
-
使用 close() 函数(用于关闭打开的文件)关闭输入文件。
示例
以下程序打印出给定N值的文本文件的前N行 –
# input text file
inputFile = "ExampleTextFile.txt"
# Enter N value
N = int(input("Enter N value: "))
# Opening the given file in read-only mode
with open(inputFile, 'r') as filedata:
# Read the file lines using readlines()
linesList = filedata.readlines()
print("The following are the first",N,"lines of a text file:")
# Traverse in the list of lines to retrieve the first N lines of a file
for textline in (linesList[:N]):
# Printing the first N lines of the file line by line.
print(textline, end='')
# Closing the input file
filedata.close()
输出
在执行时,上面的程序将生成以下输出 –
输入N的值:4以下是文本文件的前4行:
Good Morning Tutorials Point
This is Tutorials Point sample File
Consisting of Specific
abbreviated
我们从用户那里获取了N的值(动态输入),然后给我们的程序一个包含一些随机内容的文本文件并以读取模式打开它。然后使用readlines()函数检索文件中所有行的列表。我们使用for循环和切片遍历文件的前N行并打印它们。
结论
因此,从本文中,我们学习了如何打开文件并从中读取行,这可以用于执行各种操作,例如查找一行中的单词数,一行的长度等,我们还学习了切片以通过简单的方式从开头或结尾访问元素。