Python 创建基本列表?

Python 创建基本列表?,python,python-3.x,Python,Python 3.x,我试图从一个文本文件创建一个Python列表。我想打开文件,读取行,使用split方法,将它们附加到列表中。这就是我目前所拥有的。它所做的只是打印文本文件: lines = [] folder = open("test.txt") word = folder.readlines() for line in word: var = () for line in word: lines.append(line.strip().split(",")) p

我试图从一个文本文件创建一个Python列表。我想打开文件,读取行,使用
split
方法,将它们附加到列表中。这就是我目前所拥有的。它所做的只是打印文本文件:

lines = []
folder = open("test.txt")
word = folder.readlines()
for line in word:
    var = ()
    for line in word:
        lines.append(line.strip().split(","))
        print (word)
我的文件如下所示:
肥猫帽垫坐在蝙蝠圈上


我想说出来:
['fat','cat','hat','mat','sat','bat','lap']

正如其他评论者所观察到的,变量命名应该提供变量分配到的上下文。即使您可以为一个变量命名许多名称,它们也应该是相关的

您可以使用该语句在同一范围内打开和关闭文件,确保文件对象已关闭(通常是良好做法)。从那时起,您可以将从
readlines()
函数返回的
行打印为
列表,即基于
'
分隔符的
split()

with open("test.txt") as file:
    lines = file.readlines()
for line in lines:
    print line.split(' ')
样本输出:

文件:
肥猫帽垫坐在蝙蝠圈上

>>> ['fat', 'cat', 'hat', 'mat', 'sat', 'bat', 'lap']

如果您的文件只包含一行,那么您不需要像您想象的那样做太多的工作

str.split
返回一个列表,因此无需
追加
单个元素。当您在没有任何参数的情况下调用
.split()
时,它将被任何空格(空格、制表符、换行符等)分割,因此要执行的操作实际上就是:

with open("test.txt","r") as f:
    mywords = f.read().split()

print(mywords)
打开文件,读取内容,用空格分隔,将结果列表存储在名为
mywords
的变量中。(或者随便你怎么称呼它)


请注意,按任何空格分隔意味着它将把新行视为空格,只是另一种单词分隔。

您认为您的
for line in word
in(循环方式)
for line in word
在任何编程语言中都是一种好的构造吗?`:-)为什么期望
拆分(','))当没有逗号时把它拆开?一定要考虑SasChh所说的话。另外,考虑“Word in Word中的语句”。我想补充一点,当你需要像这样简单的帮助时,首先咨询一下医生;-):如果文件中只有一行,我不确定是否真的需要遍历它。@TadhgMcDonald Jensen我选择保留它以使其更健壮,这样可以在文本文件中添加或删除更多行。即使向文件中添加更多行,然后
对于文件中的行:
仍然有效,因为在这个线程中关于变量命名已经说过很多,您的
myline
应该是
mywords
吗?;-)是的,我在睡觉的时候意识到了这一点哈哈哈。我不太喜欢这样糟糕的帖子。我想这就是为什么现在有这么多人。