我正在编写这段代码来读取一个文本文件,然后在每一行之后打印行号,这是我的代码
with open("newfile.txt") as f:
for line in f:
x=1
y=str(x)
print(line)
print(x)
x=x+1
f.close()
我应该期待这样的事情
第一行
1
第二行
2
第三行
3
但是我得到了
第一行
1
第二行
1
第三行
1
为什么会这样!?
请您参考如下方法:
你可以只使用enumerate() :
with open("newfile.txt") as f:
for num,line in enumerate(f,1):
print line,'\n',num
另请注意,使用with 语句时不需要关闭文件。它会自动为您完成。
关于代码中的 x 变量,您不应该在循环中初始化它,您需要将 x=1 放在循环之外。
