При вызове функции fsync() из библиотеки aiofile возникает ошибка SystemError(22, "invalid argument")

Открыл файл с помощью aiofile, записал данные, но при вызове fsync() скрипт падает. Версия интерпретатора последняя, собирал сам, так как нужна была новая версия, а ее нету в старых реаозиториях убунту в 16 версии.

async def load_file(self):
    response = await self.session.get(url=self.url)
    ret = False
    file = await aiofile.AIOFile(self.file_name, mode='wb')
    if response.status == 200:
        data = await response.read()
        ret = True
        await file.write(data)
        try:
            await file.close()
        except SystemError:
            pass
    return ret

Сессия создана, в функции close вызывается fsync при записи


Ответы (1 шт):

Автор решения: 5c0rp
from aiofile import AIOFile

async def load_file(self):
    response = await self.session.get(url=self.url)
    ret = False
    if response.status == 200:
        data = await response.read()
        ret = True
        async with AIOFile("/tmp/hello.txt", 'wb') as afp:
            await afp.write(data)
            await afp.fsync()

    return ret
→ Ссылка