使用PyScript创建的SQLite3数据库存储位置咨询
PyScript SQLite3 数据库存储位置与持久化问题
默认存储位置(临时)
PyScript 运行在浏览器的 Pyodide 沙箱环境中,默认使用内存临时文件系统。你创建的 SQLite3 数据库文件会保存在这个内存文件系统里,仅在当前浏览器会话(标签页未关闭、未刷新)期间有效。一旦关闭浏览器或刷新页面,内存中的所有临时数据都会被清除,再次打开自然找不到之前的数据库。
实现持久化存储的方法
如果需要数据库在浏览器重启后依然可用,必须将数据库文件存到浏览器的持久化存储中,PyScript 提供了对应的 API 支持:
- 使用
pyodide.FS挂载浏览器的 IndexedDB 作为持久化目录:from pyodide import FS # 把 IndexedDB 挂载到 /persistent 路径 FS.mount(FS.filesystems.IndexedDB, {}, "/persistent") # 连接数据库时指定这个持久化路径 import sqlite3 conn = sqlite3.connect("/persistent/your_database.db")
这样数据库文件会被存储在浏览器的 IndexedDB 中,即使关闭浏览器也不会丢失。
内容的提问来源于stack exchange,提问作者Florent Akpro
相关产品推荐
相关产品推荐

