Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 6, 2016 15:46:39

Igor-dis
Зарегистрирован: 2014-12-14
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль shelve. Непонятный вывод

Это пример из книжки. Как должно быть:

>>> import shelve
>>> db = shelve.open("file2.txt")
>>> db["obj1"] = [1, 2, 3, 4, 5]
>>> db["obj2"] = (6, 7, 8, 9, 10)
>>> db["obj1"], db["obj2"]
([1, 2, 3, 4, 5], (6, 7, 8, 9, 10))
>>> db.keys(), db.values()
(['obj1', 'obj2'], [[1, 2, 3, 4, 5], (6, 7, 8, 9, 10)])
>>> db.items()
[('obj1', [1, 2, 3, 4, 5]), ('obj2', (6, 7, 8, 9, 10))]
Пытаюсь повторить:
>>> db = shelve.open('file_io_2.txt')
>>> db["obj1"] = [1, 2, 3, 4, 5]
>>> db["obj2"] = (6, 7, 8, 9, 10)
>>> db["obj1"], db["obj2"]
([1, 2, 3, 4, 5], (6, 7, 8, 9, 10))
>>> db.keys(), db.values()
(KeysView(<shelve.DbfilenameShelf object at 0x7f5c13016208>), ValuesView(<shelve.DbfilenameShelf object at 0x7f5c13016208>))
Почему при получении db.keys(), db.values() выскакивает какая-то белиберда?

Отредактировано Igor-dis (Янв. 6, 2016 15:49:46)

Офлайн

#2 Янв. 6, 2016 16:42:21

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Модуль shelve. Непонятный вывод

Это в книге код для второго питона. В третьем питоне у словарей списки превращены в виды.



Офлайн

#3 Янв. 6, 2016 16:49:13

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Модуль shelve. Непонятный вывод

list(db.keys())

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version