Python 创建基本列表?
我试图从一个文本文件创建一个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
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
吗?;-)是的,我在睡觉的时候意识到了这一点哈哈哈。我不太喜欢这样糟糕的帖子。我想这就是为什么现在有这么多人。