File of lists, import as individual lists in python 2.7
我在一个程序中创建了一个文本文件,它以伪随机顺序输出数字1到25,例如:
1 | [21, 19, 14, 22, 18, 23, 25, 10, 6, 9, 1, 13, 2, 7, 5, 12, 8, 20, 24, 15, 17, 4, 11, 3, 16] |
现在我有了另一个python文件,它应该读取我之前创建的文件,并使用排序算法对数字进行排序。
问题是,我似乎不知道如何将我之前创建的列表作为列表读取到文件中。
真的有办法做到这一点吗?或者我最好还是重写输出程序,这样我就可以把输入转换成一个列表了?
如果您的文件看起来像:
1 2 3 4 5 6 7 | 21 19 14 22 18 23 ... |
使用此:
1 2 | with open('file') as f: mylist = [int(i.strip()) for i in f] |
如果它真的像一个列表,如
1 2 3 | with open('file') as f: mylist = list(map(int, f.read().lstrip('[').rstrip('] ').split(', '))) |
如果你的文件不严格符合规范。例如,它看起来像
1 2 3 | import re with open('file') as f: mylist = list(map(int, re.findall('\d+', f.read()))) |
如果不想更改当前脚本的输出,可以使用
1 2 3 | import ast with open ("output.txt","r") as f: array=ast.literal_eval(f.read()) |