【发布时间】:2017-05-03 17:21:53
【问题描述】:
我已经知道如何将文本文件转换为 python,但是...我现在想将该文件转换为 list。
我的文件:
1
2
3
我的代码:
file = open("File.txt", "r")
file = list(file)
有没有办法让它真正起作用?如果你找到了答案,请让它变得简单。
【问题讨论】:
-
什么是“有效的东西”。您发布的代码有效,那么您的问题是什么?
我已经知道如何将文本文件转换为 python,但是...我现在想将该文件转换为 list。
我的文件:
1
2
3
我的代码:
file = open("File.txt", "r")
file = list(file)
有没有办法让它真正起作用?如果你找到了答案,请让它变得简单。
【问题讨论】:
编辑 我的最终解决方案。 感谢@juanpa.arrivillaga 提示不需要中间迭代器操作
map(str.strip, open('asd.txt'))
或者如果你更喜欢它,那么这个:
[x.strip() for x in open('File.txt')]
【讨论】:
tuple() 而不是list()?
list 或tuple?您可以map 或直接在文件处理程序上使用列表解析,而无需创建不必要的中间数据结构。
rstrip('\n'),因为可能需要保留前导/尾随空格
$ echo -e "one\ntwo\nthree" > /tmp/list.txt
$ cat /tmp/list.txt
one
two
three
$ python -c "fh = open('/tmp/list.txt'); print(fh.readlines())"
['one\n', 'two\n', 'three\n']
【讨论】:
readlines()...
试试这个:
f = open('filename.txt').readlines()
f = [int(i.strip('\n')) for i in f]
print(f)
【讨论】:
如果您的条目是数字,您可以使用 numpy 的 loadtxt
import numpy as np
data = np.loadtxt('test.txt')
【讨论】: