Найти - Пользователи
Полная версия: Модуль shelve. Непонятный вывод
Начало » Python для новичков » Модуль shelve. Непонятный вывод
1
Igor-dis
Это пример из книжки. Как должно быть:
>>> 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() выскакивает какая-то белиберда?
py.user.next
Это в книге код для второго питона. В третьем питоне у словарей списки превращены в виды.
Romissevd
list(db.keys())
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB