#python #sqlite #asynchronous
#python #sqlite #асинхронный
Вопрос:
Для библиотеки есть документация. Я использую код оттуда:
https://aiosqlite.omnilib.dev/en/latest/?badge=latest
import aiosqlite
db = await aiosqlite.connect("db.db")
cursor = await db.execute('SELECT * FROM Users')
row = await cursor.fetchone()
rows = await cursor.fetchall()
await cursor.close()
await db.close()
Выдает сообщение об ошибке
File "database.py", line 3
db = await aiosqlite.connect("db.db")
^
SyntaxError: 'await' outside function
Как этого избежать?
Ответ №1:
Вам нужно поместить свои await
инструкции в сопрограмму:
import aiosqlite
async def aio_db_stuff():
db = await aiosqlite.connect("db.db")
cursor = await db.execute('SELECT * FROM Users')
row = await cursor.fetchone()
rows = await cursor.fetchall()
await cursor.close()
await db.close()
Чтобы запустить сопрограмму, импортируйте asyncio
модуль из стандартной библиотеки и перейдите aio_db_stuff
к нему:
import asyncio
asyncio.run(aio_db_stuff())