Это пример из книжки. Как должно быть:
>>> 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() выскакивает какая-то белиберда?