从文件中读取N行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从文件中读取N行相关的知识,希望对你有一定的参考价值。
所以对于课堂,我们必须开始解决这个问题:
编写一个函数,将文件名和整数作为输入。该文件应该打开文件并读入作为第二个参数给出的第一行数。 (您需要使用变量作为此部件的计数器)。
这是非常基本的,我认为需要一个循环,但我无法弄清楚如何将循环纳入问题。我尝试过的东西不起作用,大约3个小时,我能想到的最好的是
def filewrite(textfile,line):
infile=open(textfile,'r',encoding='utf-8')
text=infile.readline(line)
print(text)
然而,这并没有让我得到我需要的功能。它在我的python类介绍中还处于早期阶段,因此基本代码就是我们所使用的。
答案
您可以在此处使用两种基本的循环策略:
- 你可以数到
n
,随时读取线条 - 您可以从文件中读取行,跟踪您已读取的数量,并在达到某个数字时停止。
def filewrite(textfile, n):
with open(textfile) as infile:
for _ in range(n):
print(infile.readline(), end='')
print()
def filewrite(textfile, n):
with open(textfile) as infile:
counter = 0
for line in infile:
if counter >= n:
break
print(line, end='')
counter += 1
第一个显然更具可读性,因为readline
只会返回一个空字符串,如果它用完了行,即使用户要求的行多于infile,它也是安全的。
在这里,我也使用context manager来确保文件在我完成后关闭。
这是一个没有你不认识的东西的版本
def filewrite(textfile, n):
infile = open(textfile)
count = 0
while count < n:
print(infile.readline())
count += 1
infile.close()
以上是关于从文件中读取N行的主要内容,如果未能解决你的问题,请参考以下文章
pandas使用read_csv函数随机从文件中读取N行数据pandas使用read_csv函数读取空格分割的文件(space)自定义设置sep参数