我有一个文本文件,我想将其作为列表导入以用于此 for-while 循环:
text_file = open("/Users/abc/test.txt", "r")
list1 = text_file.readlines
list2=[]
for item in list1:
number=0
while number < 5:
list2.append(str(item)+str(number))
number = number + 1
print list2
但是当我运行它时,它输出:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'builtin_function_or_method' object is not iterable
我该怎么办?
最佳答案
readlines()
是一个方法,调用它:
list1 = text_file.readlines()
此外,不是将整个文件加载到 python 列表中,而是逐行遍历文件对象。和 use with context manager :
with open("/Users/abc/test.txt", "r") as f:
list2 = []
for item in f:
number = 0
while number < 5:
list2.append(item + str(number))
number += 1
print list2
另请注意,您不需要在 item
上调用 str()
,您可以使用 +=
来增加 >编号
。
此外,您还可以进一步简化代码并使用 list comprehension嵌套循环:
with open("/Users/abc/test.txt", "r") as f:
print [item.strip() + str(number)
for item in f
for number in xrange(5)]
希望对您有所帮助。
关于Python 导入文本文件作为列表进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22677853/