У меня есть файл, из которого в каждой строке содержится следующее: имя файла, длина списка, фактический список. Вот пример:Прочитать список из файла в python
a.txt 3 [4,2,9]
b.txt 5 [1,6,5,2,8]
c.txt 7 [1,2,3,4,5,6,7]
и так далее. Мне удалось прочитать все до списка, но список читается как строки. Например, для первого, выход '[4,','3,','4]'
, и я хочу иметь обычный список. Это код, который я до сих пор, но это только простое чтение из файла:
f = open('example.txt', 'r')
for eachLine in f:
a = eachLine.strip().split()
l = a[2]
print l
f.close()
Я использовал l=a[2]
, но это не хранит весь свой список, он хранит только первый элемент из него.
Как сохранить список из файла в список на python?
Вы должны оценить список как список питона для этого вы можете использовать [ast.literal_eval] (https://docs.python.org/2/library/ast. html # ast.literal_eval) –
Если вы действительно хотите упростить и добавить гибкость, вы можете использовать [pickle] (https://docs.python.org/2/library/pickle.html) для сериализации ваших данных. Тогда загрузка ваших данных будет такой же простой, как 'pickle.load (f)'. Вам нужно будет сделать некоторую конвертацию и сохранить все данные как pickle вместо текущего формата. – msvalkon
Есть ли пространство между элементами списка? Попробуйте '.split (maxsplit = 2)'. – jonrsharpe