我正在尝试从Python中的输入文件逐行读取,如下所示。
in1 = open("input.txt", "r")
for i in in1:
a1 = in1.readline()
print(a1)
in1.close()
输入文件包含数字,如下所示:
13245
546464
46516
684186
由于某种原因,它只打印隔行之间的换行符,但我不明白为什么。
546464
684186
我希望a1在下一个迭代中最初存储“ 13245 \ n”,然后存储“ 546464 \ n”,依此类推,直到“ 684186 \ n”。如果我使用readlines()而不是readline(),它会跳过初始数字,而将其余带有“ \ n”的数字存储在列表中。
['546464\n', '46516\n', '684186']
为什么这样做呢?是否与读取换行符“ \ n”有关?我知道还有其他逐行读取文件的方法,但是我想了解为什么在使用类似结构的其他语言(C ++,Java)中这样做无法按预期工作。这并不是要找到要执行此操作的代码,而是要了解该代码为何按其行为方式运行。
问题是您要遍历文件两次-在for
循环中并使用readline
。因此,您将在文件中每隔两行打印一次。
您只能使用for
循环:
in1 = open("input.txt", "r")
for a1 in in1:
print(a1)
in1.close()
或readlines()
用于将所有行作为列表读取并遍历它们:
in1 = open("input.txt", "r")
for a1 in in1.readlines():
print(a1)
in1.close()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句