python配置数据库路径的方法_配置SQLite数据库的URI路径混淆

作者探讨了在Flask应用中使用Sqlite3时,为何使用不同数量的斜杠连接绝对路径引发的困惑。版本1中的四个斜杠导致错误,而版本2的三个斜杠却可行,揭示了SQLite数据库连接字符串的解析规则和实际路径解析的区别。
摘要由CSDN通过智能技术生成

嗨,我正在用Flask和Sqlite3构建一个web应用程序。我有一段时间在连接数据库时遇到了问题,但在我写下这篇文章时,它不起作用:#version 1

app.config['SQLALCHEMY_DATABASE_URI'] =

'sqlite:C:/Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'

Python给了我操作错误:无法打开数据库,因为我在冒号后面写了4个斜杠。在阅读了sqlalchemy文档并进行了大量试验后,我发现这个方法很有效:

^{pr2}$

或者这个有4个斜杠但没有C:#version 3

app.config['SQLALCHEMY_DATABASE_URI'] =

'sqlite:Users/Giang/PyCharmProjects/FlaskWebBlog/FlaskWebBlog/site.db'

我很困惑,因为根据连接字符串的文档:SQLite数据库的文件规范被视为URL的“数据库”部分。请注意,SQLAlchemy url的格式为:driver://user:pass@host/database

这意味着要使用的实际文件名以第三个斜杠右侧的字符开头。因此,连接到相对文件路径如下所示:# relative path

e = create_engine('sqlite:///path/to/database.db')

绝对路径以斜线开头表示,意味着您需要四个斜线:# absolute path

e = create_engine('sqlite:path/to/database.db')

因此,根据这一点,如果我使用绝对路径,我需要4个斜杠,但是当我在版本1中这样做时,python给了我错误。当我在版本2中使用3个斜杠作为绝对路径时,它起作用了。在

所以我真的很困惑。有人能解释一下为什么吗?我真的很感激。谢谢你

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值