sqlite 如何在Python中定位数据库位置?

siv3szwd  于 2022-11-24  发布在  SQLite
关注(0)|答案(2)|浏览(218)

我用sqlite3创建了一个数据库,我想在DB Browser中打开它。问题是我不知道在哪里可以找到这个数据库,这样我就可以在那里打开它。当我在conda下的'sqlite3'目录中查找时(我在jupyterbotebook中完成所有这些操作),我找不到我创建的任何数据库。
我可以对我创建的数据库运行其他命令,这样我就知道它存在。我只是不知道它在哪里。

import sqlite3 as sql

conn = sql.connect('z')
cur = conn.cursor()
x = cur.execute('''SELECT year FROM z;''').fetchall()
print(x)
conn.close()

这就像一个查询,但是我不知道“z”在哪里,我如何找到z存储在哪里?
我不确定这是否是一个编码问题,但如果不是,那么有人能告诉我在哪里可以找到这样的问题吗?

krugob8w

krugob8w1#

import os

print(os.path.abspath('z'))

print(conn.execute("SELECT file FROM pragma_database_list WHERE name = 'main';").fetchone()[0])
z6psavjg

z6psavjg2#

conn = sql.connect('z')

您正在内存中创建一个名为“z”的数据库。这就是为什么当您运行脚本时数据库可以工作,但您在DB Browser中找不到它的原因,因为您从未在目录中创建过.db文件。

相关问题