Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 17, 2011 17:32:18

fai
От:
Зарегистрирован: 2011-08-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

Предположим я имею список L.
Сохраняю его в файл. Он сохраняется как строка
''
Как теперь загрузить такой список из файла?



Офлайн

#2 Авг. 17, 2011 17:35:26

fai
От:
Зарегистрирован: 2011-08-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

Вот как сделал, но это как-то не по питоновски!
L = [int(i) for i in f.read().split()]
f - файл.



Офлайн

#3 Авг. 17, 2011 17:37:33

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

Если есть желание просто сохранять сложные структуры в файл и просто их загружать, то можно использовать модуль pickle. Всего две функции load и dump)



Офлайн

#4 Авг. 17, 2011 17:52:14

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

fai

import json
with open("file.txt", "r") as f:
l = json.load(f)
Или юзать pickle, как посоветовали.



Офлайн

#5 Авг. 17, 2011 17:54:57

fai
От:
Зарегистрирован: 2011-08-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

А с pickle я смогу просматривать файл вручную? Блокнотом например.



Офлайн

#6 Авг. 17, 2011 18:07:47

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

Pickle переводит в поток байтов (сериализует) объект. Json переводит в текстовое представление.



Офлайн

#7 Авг. 17, 2011 18:12:35

fai
От:
Зарегистрирован: 2011-08-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

list -> file -> list

Ну хорошо, спасибо большое. использую Json.



Офлайн

#8 Авг. 19, 2011 21:54:26

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

list -> file -> list

open('myfile', 'w').write('\n'.join(map(str, mylist)))  # сохраняем
mylist = map(int, open('myfile').read().split()) # читаем
Если структура данных простая, то зачем заморачиваться с json?!

..bw



Офлайн

#9 Авг. 20, 2011 00:23:51

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

list -> file -> list

bw
open('myfile', 'w').write('\n'.join(map(str, mylist)))  # сохраняем
mylist = map(int, open('myfile').read().split()) # читаем
Если структура данных простая, то зачем заморачиваться с json?!

..bw
c json код проще, да и на будущее пригодится

Офлайн

#10 Авг. 20, 2011 08:17:39

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

list -> file -> list

Enchantner
А с pickle я смогу просматривать файл вручную?
fai
Json переводит в текстовое представление.
pickle дает по умолчанию тоже текстовое представление, допускающее редактирование



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version