gpt4 book ai didi

python - 尝试遍历多个文本文件并将第 2 行附加到列表

转载 作者:行者123 更新时间:2023-11-28 20:30:16 25 4
gpt4 key购买 nike

我正在尝试遍历一堆文本文件并将每个文件的第 2 行附加到列表中。下面是我的示例代码。这看起来应该非常接近,但我的列表中没有添加任何内容。

import os
directory = 'C:\\my_path\\'
i=0
list2 = []
for filename in os.listdir(directory):
with open(directory + filename) as infile:
try:
print(filename)
i=i+1
print(i)
data = infile.readlines()
for line in data:
if (line == 2):
list2.append(line)
infile.close()
except:
print(filename + ' is throwing an error')
print('DONE!!')
print(list2)

最佳答案

写作时:

for line in data:
if (line == 2):
list2.append(line)
infile.close()

line 变量不是行的索引,而是作为字符串的行本身。

另请注意,第二行的索引为 1,而不是 2,因为在 Python 中索引从 0 开始。

您至少应该将此循环更改为:

for index, line in enumerate(data):
if (index == 1):
list2.append(line)
infile.close()

此外,正如@bruno-desthuilliers 所建议的,您不需要使用使用内存的 readlines() 方法,而是可以像这样直接迭代您的文件:

#no infile.readlines() needed
for index, line in enumerate(infile):
if (index == 1):
list2.append(line)
infile.close()

最后,您不需要调用 infile.close(),因为您将语句包装在 with block 中。这个电话是为你而设的。

关于python - 尝试遍历多个文本文件并将第 2 行附加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57959608/

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