异步桥接到标准sqlite3模块

aiosqlite的Python项目详细描述


aiosqlite

到python 3.5+的标准sqlite3模块的异步桥

build statuscode coveragepypi releaseMIT licensecode style black

安装

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 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java7和Java8中从现有列表创建不同的列表?   java如何在HP ALM中上载测试结果   java请检查我想使用的代码,当用户在第一次输入中输入0时,条件必须停止   带显示列表的java OpenGL照明   尝试获取活动的DefaultSharedReferences时发生java NullPointerException   java如何区分日期时间类型应为yyyymmdd hh:mm:ss的两个日期   Java中对象上的循环   java jvm挂起并杀死3&jmap失败   Tomcat下的java URLClassLoader   java如何对基于KinesRecord的DoFn进行单元测试?   java Estado HTTP 404–找不到Eclipse/Tomcat   java Spring:缺少必需的请求正文。无法将JSON传递给RestController   java Drools工作台目标   java@Async在REST类中不起作用   rest如何在用户使用java输入时更有效地从Yammer获取消息?   java监视递归过程中创建的内部堆栈上的值   java如何集群和负载平衡Spring+OSGi应用程序   java NotSerializableException对象