Я могу без ошибок создать и получить полку в командной строке:
Код: Выделить всё
#!/usr/bin/env python
import shelve
shelf = shelve.open('/tmp/my_shelf', flag='c', writeback=True)
shelf['a'] = 1
shelf.close()
shelf = shelve.open('/tmp/my_shelf', flag='c', writeback=True)
print (shelf['a'])
shelf.close()
Код: Выделить всё
$ ./my_shelf.py
1
Код: Выделить всё
# ll /tmp/my_shelf*
-rw-r--r--. 1 cpn cpn 12288 Feb 4 16:24 /tmp/my_shelf
# ll -d /tmp
drwxrwxrwt. 29 root root 5640 Feb 4 16:24 /tmp
Код: Выделить всё
[Wed Feb 04 16:25:09.868813 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: Traceback (most recent call last):
[Wed Feb 04 16:25:09.868919 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/dbm/sqlite3.py", line 83, in _execute
[Wed Feb 04 16:25:09.868965 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: return closing(self._cx.execute(*args, **kwargs))
[Wed Feb 04 16:25:09.869008 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
[Wed Feb 04 16:25:09.869042 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: sqlite3.OperationalError: disk I/O error
[Wed Feb 04 16:25:09.869049 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py:
[Wed Feb 04 16:25:09.869102 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: During handling of the above exception, another exception occurred:
[Wed Feb 04 16:25:09.869109 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py:
[Wed Feb 04 16:25:09.869139 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: Traceback (most recent call last):
[Wed Feb 04 16:25:09.869239 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/var/www/cgi-bin/tutorial/my_shelf.py", line 4, in
[Wed Feb 04 16:25:09.869292 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: shelf = shelve.open('/tmp/my_shelf', flag='c', writeback=True)
[Wed Feb 04 16:25:09.869340 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/shelve.py", line 250, in open
[Wed Feb 04 16:25:09.869390 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: return DbfilenameShelf(filename, flag, protocol, writeback)
[Wed Feb 04 16:25:09.869440 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/shelve.py", line 227, in __init__
[Wed Feb 04 16:25:09.869496 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
[Wed Feb 04 16:25:09.869537 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: ~~~~~~~~^^^^^^^^^^^^^^^^
[Wed Feb 04 16:25:09.869595 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/dbm/__init__.py", line 95, in open
[Wed Feb 04 16:25:09.869635 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: return mod.open(file, flag, mode)
[Wed Feb 04 16:25:09.869667 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: ~~~~~~~~^^^^^^^^^^^^^^^^^^
[Wed Feb 04 16:25:09.869718 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/dbm/sqlite3.py", line 144, in open
[Wed Feb 04 16:25:09.869761 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: return _Database(filename, flag=flag, mode=mode)
[Wed Feb 04 16:25:09.869816 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/dbm/sqlite3.py", line 77, in __init__
[Wed Feb 04 16:25:09.869844 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: self._execute(BUILD_TABLE)
[Wed Feb 04 16:25:09.869879 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: ~~~~~~~~~~~~~^^^^^^^^^^^^^
[Wed Feb 04 16:25:09.869933 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: File "/usr/lib64/python3.14/dbm/sqlite3.py", line 85, in _execute
[Wed Feb 04 16:25:09.869957 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: raise error(str(exc))
[Wed Feb 04 16:25:09.869987 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] AH01215: stderr from /var/www/cgi-bin/tutorial/my_shelf.py: dbm.sqlite3.error: disk I/O error
[Wed Feb 04 16:25:09.877979 2026] [cgid:error] [pid 314989:tid 315128] [client 127.0.0.1:46094] End of script output before headers: my_shelf.py
Подробнее здесь: https://stackoverflow.com/questions/798 ... -i-o-error