Skip to main content
 首页 » 编程设计

Python 导入文本文件作为列表进行迭代

2025年05月04日17wuhuacong

我有一个文本文件,我想将其作为列表导入以用于此 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)] 

希望对您有所帮助。