我有一个文本文件,包含从0到99的所有整数,包括:
0
1
2
3
[...]
98
99
我已经写了以下代码来尝试打印出每一行:
f = open('number_list.txt', 'r')
for x in f:
r = f.readline()
r2 = r.rstrip('n')
print(r2)
但出于某种原因,它只会每秒打印一次数字:
1
3
5
[...]
97
99
为什么会发生这种情况?
for x in f:
已经遍历了文件的每一行。因此:
for x in f:
r = f.readline()
你一次读两行(因此是奇数(。只需取消对readline((的调用,并使用x
作为行。
您以两种不同的方式读取文件中的行。
for x in f
每次迭代从文件中读取一行。
readline()
还从文件中读取一行。
您没有打印for
循环中的行;您只打印readline()
中的行。
所以你读了每一行,但你只打印了每隔一行。
这是因为您根本没有使用包含当前行的x
变量。您不使用它,而是通过执行r = f.readline()
:来消耗下一行
f = open("number_list.txt", "r")
for x in f:
print(x) <--- use x instead