Python 更改Sqlite3数据库连接的文件名,同时保留整个数据

Python 更改Sqlite3数据库连接的文件名,同时保留整个数据,python,python-2.7,sqlite,Python,Python 2.7,Sqlite,我有点像……: conn = sqlite3.connect(db_path) ... ... conn.close() 我的db_路径可以是“:memory:”或一个实际路径,那么我如何将其更改为“newFile.db” 同时保留我所有的工作数据 简言之,我需要从 :内存:到一个新路径.db 旧路径.db到新路径.db 我知道他们是同一个人 无论如何,我不知道。我浏览了一下文件,但运气不好。也许我错过了什么 我不知道它是否有用,但我正在尝试实现文件菜单功能:打开新(:内存:),打开现有(现有

我有点像……:

conn = sqlite3.connect(db_path)
...
...
conn.close()
我的db_路径可以是“:memory:”或一个实际路径,那么我如何将其更改为“newFile.db” 同时保留我所有的工作数据

简言之,我需要从

  • :内存:到一个新路径.db
  • 旧路径.db到新路径.db
  • 我知道他们是同一个人

    无论如何,我不知道。我浏览了一下文件,但运气不好。也许我错过了什么


    我不知道它是否有用,但我正在尝试实现文件菜单功能:打开新(:内存:),打开现有(现有文件),保存并另存为。

    您不能只更改数据库的文件名

    Python的内置数据库API没有任何复制数据库的机制;您必须复制文件本身,这对于内存中的数据库是不可能的


    如果你改为使用,你可以使用。

    hmm,那太糟糕了。另外,我不知道APSW。无论如何,谢谢。无论如何重命名SQLite数据库是不安全的。除主数据库文件外,还可能存在多个附加文件(日记账、WAL、shm等)。如果这些也没有重命名,那么您的数据库将最终损坏。唯一的方法是使用备份api。(披露:我是APSW的作者)