gpt4 book ai didi

python - 带有 sqlite 的 sqlalchemy 引擎 url 中的三个斜杠?

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:46 24 4
gpt4 key购买 nike

sqlalchemy docs说:

The sqlite :memory: identifier is the default if no filepath is present. Specify sqlite:// and nothing else:

# in-memory database
e = create_engine('sqlite://')

但是,我可以使用三个斜杠而不是两个斜杠 (sqlite:///) 吗?或者我可以使用 :memory: 本身 (sqlite:///:memory:) 吗?这样我就可以在配置文件中定义所有引擎属性并执行如下操作:

url = f'{dialect}+{driver}://{username}:{password}@{host}:{port}/{path}'

代替:

url = f'{dialect}+{driver}://{username}:{password}@{host}:{port}{'/' + path if path else ''}'

但我可以做到

最佳答案

虽然这不是我提出的问题(XY 问题?)的直接答案,但我找到了一种“正确”的方法来处理从配置创建 URL 字符串。好像SQLAlchemy已经内置了一个专门用于这个的函数,见sqlalchemy.engine.url.URL :

from sqlalchemy import create_engine
from sqlalchemy.engine.url import URL

configs = {
'drivername': 'sqlite',
'username': '',
'password': '',
'host': '',
'port': '',
'database': ':memory:',
'query': '',
}

engine = create_engine(URL(**configs))

关于python - 带有 sqlite 的 sqlalchemy 引擎 url 中的三个斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41667625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com