gpt4 book ai didi

python - 如何多次迭代一个文件?

转载 作者:行者123 更新时间:2023-12-02 05:15:22 24 4
gpt4 key购买 nike

目前,此代码一次为我提供了 searchfile 中的所有行。但根据我的新手理解,它应该为每个 infile 行打印出 searchfile 中的所有行!

searchfile = open('.\sometext.txt', 'r')
infile = open('.\somefile', 'r')

for line1 in infile:
for line2 in searchfile:
print line2

searchfile.close()
infile.close()

我尝试使用 searchfile.readlines() 创建一个列表来打印所有 searchfile 行的所有 infile 行,但它仍然不起作用。有人知道吗?

最佳答案

我想 searchfile 是您之前打开的文件,例如。 G。 searchfile = open('.\someotherfile', 'r').

在这种情况下,您的构造不起作用,因为文件是一个可迭代对象,只能迭代一次,然后就耗尽了。

这里有两个选择:

  1. 在每个外循环 fun 上重新打开文件
  2. 将文件的内容读入列表中,并根据需要多次迭代此列表。
<小时/>

您的代码中发生了什么?

在嵌套 for 循环开始时,两个文件都已打开并且可以读取。

每当第一个内部循环运行结束时,searchfile 就结束了。当外循环现在开始处理第二个条目时,内循环就像一个空循环,因为它无法产生更多条目。

关于python - 如何多次迭代一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com