将数字文件转换为列表

时间:2016-06-16 00:47:04

标签: python

简单地说,我试图读取一个文件,该文件最终除了空格,逗号或新行之外只有数字。我已经阅读了很多这些帖子并修复了一些事情。我知道它们首先作为字符串导入。但是我遇到了将数字导入列表的问题。所以现在我有一份清单。这样会很好,除非我不能通过整数检查或添加数字。我们的想法是让每个用户都签名一个号码然后保存。我现在不担心保存,我只是担心输入数字并能够将它们作为单独的数字使用。

到目前为止我的代码:

fo1 = open('mach_uID_3.txt', 'a+')

t1 = fo1.read()
t2 = []

print t1

for x in t1.split():
    print x
    z = [int(n) for n in x.split()]
    t2.append(z)


print t2
print t2[3]

fo1.close()

和它的读取文件。

0 1 2 25
34
23

我的结果非常难看但是你走了。

0 1 2 25
34
23

0
1
2
25
34
23
[[0], [1], [2], [25], [34], [23]]
[25]

Process finished with exit code 0

2 个答案:

答案 0 :(得分:0)

要将所有数字放在一个展平的列表中,请执行以下操作:

fo1 = open('mach_uID_3.txt', 'a+')

number_list = list(map(int, fo1.read().split())

fo1.close()

但是打开这样的文件会更好:

with open('mach_uID_3.txt', 'a+') as fo1:
    number_list = list(map(int, fo1.read().split())

所以你不必明确地关闭它。

答案 1 :(得分:0)

使用extend代替append

t2.extend(int(n) for n in x.split())