aiosqlite
到python 3.5+的标准sqlite3模块的异步桥
安装
aiosqlite与python 3.5及更新版本兼容。
您可以使用以下命令从pypi安装它:$ pip install aiosqlite
用法
aiosqlite复制标准sqlite3模块,但使用异步版本
所有标准连接和游标方法以及
自动关闭连接:asyncwithaiosqlite.connect(…)asdb:awaitdb.execute(‘INSERT INTO some_table …’)awaitdb.commit()asyncwithdb.execute(‘SELECT * FROM some_table’)ascursor:asyncforrowincursor:…
或者,您也可以继续使用连接和游标,操作步骤如下:db=awaitaiosqlite.connect(…):cursor=awaitdb.execute(‘SELECT * FROM some_table’)row=awaitcursor.fetchone()rows=awaitcursor.fetchall()awaitcursor.close()
aiosqlite还根据需要复制大多数标准连接属性
对于行或文本工厂之类的高级用例,或用于跟踪总计
插入、修改或删除的行数:asyncwithaiosqlite.connect(…)asdb:db.row_factory=aiosqlite.Rowasyncwithdb.execute(‘SELECT * FROM some_table’)ascursor:value=row[‘column’]awaitdb.execute(‘INSERT INTO foo some_table’)assertdb.total_changes>0
详细信息
aiosqlite允许在主异步事件上与sqlite数据库交互
在等待查询时循环而不阻止其他协程的执行
或数据获取。它通过每个连接使用一个共享线程来实现这一点。
此线程执行共享请求队列中的所有操作以防止
重叠动作。
连接对象是实际连接的代理,包含共享
执行线程,并提供上下文管理器来处理自动关闭
连接。游标是与实际游标类似的代理,并提供
异步迭代器查询结果。
许可证
aiosqlite是版权所有的John Reese,并根据
麻省理工学院执照。我在一个开放源代码下向您提供这个存储库中的代码
执照。这是我的个人存储库;您收到的代码许可证
是我的,不是我老板的。有关详细信息,请参见LICENSE文件。
欢迎加入QQ群–>: 979659372
推荐PyPI第三方库