Skip to main content
 首页 » 编程设计

python之python 中循环的奇怪行为

2025年05月04日3752php

我正在编写这段代码来读取一个文本文件,然后在每一行之后打印行号,这是我的代码

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 放在循环之外。