我的数据库位于这里: D:\sqlite\db
我的 Python 代码位于此处: D:\app\ZAKPRO\R20191121
代码如下所示:
import sqlite3
import os.path
conn = sqlite3.connect('D:sqlitedbdb_name.db')
c = conn.cursor()
c.execute("INSERT INTO sts_meta (symbol) VALUES( 'tra' ) ")
错误消息是: 操作错误:没有这样的表:sts_meta
- 任何人都可以帮助更正我的代码吗?
- 我将数据库和代码分开在不同的位置:这很好,是否可取?
- 我只找到具有相对路径的示例:使用绝对路径的访问不是python-sqlite社区中的首选访问吗?为什么?
更新 现在我已经重新编码,但仍然面临同样的问题:
filename = "dbname.db"
dir = "D:sqlitedb"
dbpath = pathlib.Path(dir, filename)
sql = ("SELECT * from sts_meta")
conn = sqlite3.connect(dbpath)
c = conn.cursor()
c.execute(sql)
print(c.fetchall())
conn.commit()
我收到的这条消息: 操作错误:没有这样的表:sts_meta
如何找出我连接到数据库的小麦?
关于路径库,这是我的数据库路径: D:\sqlite\db\stocktimeseries.db
使用相对路径不是那么好。 好的做法是在 python 中使用操作系统包中的path.join
。
在任何包含任何字符(如反斜杠(的字符串中,请使用r'your string'
.在字符串之前添加 r 将声明以下字符串中包含的特殊字符只是一个字符串,它们没有其他用途。
我不确定这是否是导致此问题的原因。但是,如果表存在并且您在路径方面遇到问题,那么 path.join 可以帮助您。