Найти - Пользователи
Полная версия: Почему shelve.open('db_name') создает 3 файла?
Начало » Python для новичков » Почему shelve.open('db_name') создает 3 файла?
1
buddha
Когда создавал файл с данными shelve.open('some_db') в python 2.7, то появлялся 1 файл(без расширения).
Под python 3.2 создаётся 3 файла(some_db.dat, some_db.bak, some_db.dir).
В оф. документации на этот счет ничего не нашел.

Почему создает 3 файла?
Для чего они нужны?
Это нормальное поведение?
cutwater
Документацию читать конечно же не модно.

http://docs.python.org/py3k/library/shelve.html#shelve.open

As a side-effect, an extension may be added to the filename and more than one file may be created.
buddha
cutwater
Документацию читать конечно же не модно.

http://docs.python.org/py3k/library/shelve.html#shelve.open

As a side-effect, an extension may be added to the filename and more than one file may be created.

Перечитал…

Как побочный эффект, расширение может быть добавлено к имени файла и может быть создано больше одного файла

Это и в версии 2.7 интерпритатора написано. Но результат кода разный!!! Документация не раскрыла вопроса.
Вы сами знаете почему!!?
или лишь бы носом тыкнуть ,предварительно сам не разобравшись??
cutwater
buddha
Документация не раскрыла вопроса.

Более чем раскрыла вопрос “Это нормальное поведение?” Со второй версии реализация модуля или реализация бекенда могла измениться. Документация четко вас об этом предупреждает. Никто не дает Вам гарантий того что в 3.4 поведение не изменится еще раз.

Для чего они нужны можете посмотреть исходники или обратиться в google
например, http://stackoverflow.com/questions/4966871/how-do-you-erase-the-3-shelve-files-in-python-3

А тыкать вас носом полезно, авось поумнеете.
buddha
Спасибо.

cutwater
А тыкать вас носом полезно, авось поумнеете.

Ну нельзя же так отыгрываться на других за свой негативный опыт…
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