所以对于课堂,我们必须开始解决这个问题:
编写一个函数,将文件名和整数作为输入。该文件应该打开文件并读入作为第二个参数给出的第一行数。 (您需要有一个变量用作此部分的计数器。)
这是非常基本的,我认为需要一个循环,但我无法弄清楚如何将循环纳入问题。我尝试过的东西不起作用,它已经过了大约3个小时,我能想到的最好的是
def filewrite(textfile,line):
infile=open(textfile,'r',encoding='utf-8')
text=infile.readline(line)
print(text)
然而,这并没有让我得到我所需要的功能。它在我的python类介绍中还处于早期阶段,因此基本代码就是我们所有的工作。
答案 0 :(得分:0)
您可以在此处使用两种基本的循环策略:
您可以算上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()