从文本文件创建列表

时间:2019-03-10 19:33:19

标签: python python-3.x

因此,假设names.txt包含以下内容:

["John", "Mike", "Tom", "Sam", "Anthony"]

如何将名称为names的列表设为names.txt?如果我做出可怕的解释(我可能这样做了),这就是我想要的:

names = names.txt

如何让names列出names.txt中的所有对象?

5 个答案:

答案 0 :(得分:0)

这会将“ names.txt”文件的内容读入变量“ names”:

with open('names.txt') as f:
   names = f.read()

答案 1 :(得分:0)

文件parse as JSON是否正确?如果是这样,将其读入列表就是蛋糕:

names = []
with open('names.txt') as filen:
    names = json.loads(filen.read())

答案 2 :(得分:0)

f = open(“ names.txt”,“ r”)

名称= f.read()

答案 3 :(得分:0)

如果 names.txt 完全具有如上所述的这种类型的数据(带有'[',']'):

blue:  (0.01359, 0.00075997, 0.24608, ..., -0.2524, 1.0048, 0.06259)

然后可以使用以下代码:

["John", "Mike", "Tom", "Sam", "Anthony"]

或者如果 names.txt 由多行组成,并且每一行都有一个名称,则可以执行以下操作:

names = [name[1:-1] for name in open('names.txt').read()[1:-1].split(', ')]
>>> print(names)
['John', 'Mike', 'Tom', 'Sam', 'Anthony']

或者如果名称以逗号(或任何其他符号)分隔,则:

names = [line for line in open('names.txt').readlines()]
>>> ['John', 'Mike', 'Tom', 'Sam', 'Anthony']

请注意,某些文本编辑器(例如Atom)在保存文件时会添加一个空行,因此它可以在列表中产生'\ n'个字符。

还要注意,在第一种情况(一行-一个名字)中,每一行都以'\ n'字符结尾。

答案 4 :(得分:-1)

您可以从字符串中直接获取数据:

names = []
with open("names.txt") as file:
    names = file.read()    

然后将字符串转换为列表:

    names = eval(names)