jupyter DatabaseError: database disk image is malformed 解决办法

DatabaseError: database disk image is malformed 解决办法
~/.local/share/jupyter/nbsignatures.db
mv ~/.local/share/jupyter/nbsignatures.db ~/.local/share/jupyter/nbsignatures.db_bk
重新启动jupyter lab 然后它自己会自动生成~/.local/share/jupyter/nbsignatures.db 就解决了问题

import sqlite3

import os

使用 os.path.expanduser 来替换 $HOME 为实际的用户主目录

db_path = os.path.expanduser(“~/.local/share/jupyter/nbsignatures.db”)

尝试连接到数据库

try:
… conn = sqlite3.connect(db_path)
… print(“成功连接到数据库”)
… except sqlite3.OperationalError as e:
… print(f"无法打开数据库文件: {e}")

File “”, line 3
print(“成功连接到数据库”)
IndentationError: unexpected indent

db_path = os.path.expanduser(“~/.local/share/jupyter/nbsignatures.db”)
conn = sqlite3.connect(db_path)
File “”, line 1
conn = sqlite3.connect(db_path)
IndentationError: unexpected indent
conn = sqlite3.connect(db_path)

cursor = conn.cursor()
print(“Data in nbsignatures table:”)
Data in nbsignatures table:
cursor.execute(“SELECT * FROM nbsignatures;”)
<sqlite3.Cursor object at 0x7f99d38f76c0>
for row in cursor.fetchall():
… print(row)

Traceback (most recent call last):
File “”, line 1, in
for row in cursor.fetchall():

           ~~~~~~~~~~~~~~~^^

sqlite3.DatabaseError: database disk image is malformed

关闭 cursor 和连接

cursor.close()
conn.close()

for row in cursor.fetchall():
print(row)

import sqlite3
import os

db_path = os.path.expanduser(“~/.local/share/jupyter/nbsignatures.db”)
conn = sqlite3.connect(db_path)
cursor = conn.cursor()

for row in cursor.fetchall():
print(row)
cursor.close()
conn.close()

尝试连接到数据库

try:
conn = sqlite3.connect(db_path)
print(“成功连接到数据库”)

# 创建一个游标对象
cursor = conn.cursor()

# 打印 nbsignatures 表中的数据
print("Data in nbsignatures table:")

# 执行查询
cursor.execute("SELECT * FROM nbsignatures;")

# 获取所有结果并打印
for row in cursor.fetchall():
    print(row)

except sqlite3.OperationalError as e:
print(f"无法打开数据库文件: {e}“)
except sqlite3.DatabaseError as e:
print(f"数据库文件损坏: {e}”)
finally:
# 关闭游标和连接
if ‘cursor’ in locals():
cursor.close()
if ‘conn’ in locals() and conn:
conn.close()

	恢复的手段,要么是让用户把相关的文件和文件目录恢复,如果实在无法找回,最好的办法就是重启一下 Notebook 的容器了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值