Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从文本文件创建列表_Python_Python 3.x - Fatal编程技术网

Python 从文本文件创建列表

Python 从文本文件创建列表,python,python-3.x,Python,Python 3.x,因此,假设names.txt包含以下内容: ["John", "Mike", "Tom", "Sam", "Anthony"] names = [line for line in open('names.txt').readlines()] >>> ['John', 'Mike', 'Tom', 'Sam', 'Anthony'] 我怎样才能有一个名为namesbenames.txt的列表?如果我解释得很糟糕(我可能是这么解释的),我想要的是: names = names.

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

["John", "Mike", "Tom", "Sam", "Anthony"]
names = [line for line in open('names.txt').readlines()]
>>> ['John', 'Mike', 'Tom', 'Sam', 'Anthony']
我怎样才能有一个名为
names
be
names.txt
的列表?如果我解释得很糟糕(我可能是这么解释的),我想要的是:

names = names.txt

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

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

你看这个文件吗?如果是这样,将其读入一个列表就是:

names = []
with open('names.txt') as filen:
    names = json.loads(filen.read())
f=打开(“names.txt”、“r”)


name=f.read()

您首先可以从数据中以字符串形式获取数据:

names = []
with open("names.txt") as file:
    names = file.read()    
然后将字符串转换为列表:

    names = eval(names)
如果names.txt正好包含上述类型的数据(带“[”,“]”):

["John", "Mike", "Tom", "Sam", "Anthony"]
然后可以使用以下代码:

names = [name[1:-1] for name in open('names.txt').read()[1:-1].split(', ')]
>>> print(names)
['John', 'Mike', 'Tom', 'Sam', 'Anthony']
或者,如果names.txt由许多行组成,并且每行有一个名称,则可以执行以下操作:

["John", "Mike", "Tom", "Sam", "Anthony"]
names = [line for line in open('names.txt').readlines()]
>>> ['John', 'Mike', 'Tom', 'Sam', 'Anthony']
或者,如果名称由逗号(或任何其他符号)分隔,则:

请注意,某些文本编辑器(如Atom)在保存文件时会添加一个空行,以便在列表中显示“\n”字符


还请注意,在第一种情况下(一行-一个名称),每行将以“\n”字符结尾。

要读取文件“names.txt”的上下文吗?@ChristianSloper我希望“names”为“names.txt”,因此如果我打印(names),它将打印“names.txt”中的所有内容考虑到垃圾收集器关闭文件的时间是不确定的,因此首选
with..as…
形式。看这个。