-1
После того, как я переустановил Python, чтобы переместить его из папки AppData в Program Files, похоже, что модуль полки больше не работает, и я получаю сообщение об ошибке ниже, когда я звоню по номеру shelve.open()
.Модуль полки не работает
Пожалуйста, помогите!
>>> import shelve
>>> myShelf = shelve.open('data')
Traceback (most recent call last):
File "C:\Program Files\Python\lib\dbm\dumb.py", line 81, in _create
f = _io.open(self._datfile, 'r', encoding="Latin-1")
FileNotFoundError: [Errno 2] No such file or directory: 'data.dat'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
myShelf = shelve.open('data')
File "C:\Program Files\Python\lib\shelve.py", line 243, in open
return DbfilenameShelf(filename, flag, protocol, writeback)
File "C:\Program Files\Python\lib\shelve.py", line 227, in __init__
Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
File "C:\Program Files\Python\lib\dbm\__init__.py", line 94, in open
return mod.open(file, flag, mode)
File "C:\Program Files\Python\lib\dbm\dumb.py", line 303, in open
return _Database(file, mode, flag=flag)
File "C:\Program Files\Python\lib\dbm\dumb.py", line 69, in __init__
self._create(flag)
File "C:\Program Files\Python\lib\dbm\dumb.py", line 83, in _create
with _io.open(self._datfile, 'w', encoding="Latin-1") as f:
PermissionError: [Errno 13] Permission denied: 'data.dat'
>>>
«FileNotFoundError: [Errno 2] Нет такого файла или каталога:« data.dat ». Модуль полки работает нормально, вам просто нужно убедиться, что файл, который вы хотите прочитать, есть. – Evert
Попробуйте запустить python с sudo; предлагая из-за отказа в вашей ошибке. – PseudoAj
Evert - shelve.open должен создать файл, если его там нет. –