我试图从一个文本文件打印一行一次,无论我需要多少周期。我被困在这里:
def do():
i = 0
for i in range(int(mlt)):
file = open('/some/dir/text.txt' , 'r')
for line in file:
linenumber = file.readline()
time.sleep(1)
print(linenumber)
mlt = input('number of cycles')
do()
这将输出到:
line2
line4
line6
line8
line10
line2
line4
....
当我需要时:
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10
line1
line2
line3
...
如果有人能向我解释我做错了什么,我将不胜感激。你知道吗
for line in file:
和linenumber = file.readline()
都在做同样的事情,这就是为什么你会得到每一行。请尝试以下操作:你用
for line in file:
在文件上迭代,但是在每次迭代中你用readline()
抓住下一行,结果每隔一行打印一次。双空格是因为print()
有一个默认的换行符结尾。要解决此问题,只需打印文件中的每一行,不使用额外字符:我还对您的代码进行了一点重构,以便该函数接受一个表示它应该循环的次数的参数。你知道吗
相关问题 更多 >
编程相关推荐