为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中编写两个连续的“for循环”?

如何在python中编写两个连续的“for循环”?

收到一只叮咚 2022-06-02 10:25:36
我是一名 Python 初学者,正在一个较小的单独文件中对我的一个更大的项目进行故障排除。我更大的项目的问题是我无法让两个 for 循环连续工作。我有一个包含两行的 txt 文件代码很简单:file=open("test.txt","r")for line in file:    print("x")    passprint("hi") for line in file:    print("x")两个 for 循环是相同的 bar pass。print("hi")存在作为检查第一个 for 循环是否被打破的一种手段(它是)此代码输出:xxxhi第一个 for 循环被打破, print 语句在它之后工作,但之后的 for 循环没有?我本来希望它输出:xxxhixxx我怎样才能解决这个问题?
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

问题是,在您的第一个循环中,您将EOF在循环结束时到达 (end-of-file),因此任何后续循环都不会读取任何内容,您可以使用它readlines来获取可以循环的行列表随心所欲:


with open("test.txt", "r") as f:  #  use `with` to automatically close the file after reading

    lines = f.readlines()


for line in lines:

    print("x")

    #pass `unnecessary`

print("hi") 

for line in lines:

    print("x")

或者(对于大文件),您可以使用seek让阅读器回到文件的开头:


file = open("test.txt", "r")


for line in file:

    print("x")


print("hi")

file.seek(0)


for line in file:

    print("x")


file.close()


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信