Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相当于.tables的Python SQLite(一个不带Pandas的线性程序)_Python_Sqlite - Fatal编程技术网

相当于.tables的Python SQLite(一个不带Pandas的线性程序)

相当于.tables的Python SQLite(一个不带Pandas的线性程序),python,sqlite,Python,Sqlite,使用SQLite可执行文件时,我可以使用.tables打印数据库中所有表的列表以进行控制台操作。在Python中,有没有一种等效的单行程序方法可以在不使用Pandas的情况下使用sqlite3模块来实现这一点 根据上的答案,您似乎必须首先创建一个游标,然后创建一个SQL查询以返回表列表(实际上是一个元组列表,作为unicode字符,需要清除,以便在控制台上进行漂亮的打印)。这是五行,而SQLite只有一行 或者一个相关的问题是:为什么我需要在Python sqlite3中打开一个游标来获取此信息

使用SQLite可执行文件时,我可以使用
.tables
打印数据库中所有表的列表以进行控制台操作。在Python中,有没有一种等效的单行程序方法可以在不使用Pandas的情况下使用sqlite3模块来实现这一点

根据上的答案,您似乎必须首先创建一个游标,然后创建一个SQL查询以返回表列表(实际上是一个元组列表,作为unicode字符,需要清除,以便在控制台上进行漂亮的打印)。这是五行,而SQLite只有一行

或者一个相关的问题是:为什么我需要在Python sqlite3中打开一个游标来获取此信息

con = sqlite3.connect(db)

cursor = con.cursor()
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
tables = cursor.fetchall()
tables = map(str, [t[0] for t in tables])
print(tables)

这并不漂亮,但因为您只使用了一次变量,所以您可以简单地链接所有调用

print([str(t[0]) for t in sqlite3.connect(db).cursor().execute("SELECT name FROM sqlite_master WHERE type='table'").fetchall()])

换句话说,没有办法在Python中传递SQLite的
.tables
helper函数?这在您链接的问题中已经得到了回答。我没有看到明确的说明,我一定忽略了某人的答案?但如果有这么简单的方法,肯定会有人发布它。哈哈,你会想,但从这个问题和公认的答案来看,我不知道人们是怎么想的