首页 > 解决方案 > 将拆分方法更改为从文件而不是字符串中读取

问题描述

我正在尝试转换以下方法以允许它从文本文件中读取,而不是读取字符串中的列表。

这是我在网上找到的方法,对我来说效果很好。

str = """
test line1
test line2
test line3
"""    
list = []
for line in str.split("\n"):
    if not line.strip():
        continue
    list.append(line.lstrip())
print (list)

我试图修改该方法以允许它从文本文件中读取,尽管我不断收到此错误:

(AttributeError:'_io.TextIOWrapper' 对象没有属性'split')

这就是我所做的方法。

file = open("test.txt","r")
list = []
for line in file.split("\n"):
    if not line.strip():
        continue
    list.append(line.lstrip())
print (list)

标签: pythonarrayssplit

解决方案


file不是一个str。您可以使用file.read().

所以,你可以这样做。


file = open("test.txt", "r")
lst = []
for line in file.read().splitlines():
    if line.strip():
            lst.append(line.lstrip())
print (lst)


推荐阅读