Python-aiofiles-异步文件操作

本文最后更新于:2020年12月30日 上午

信息

简介

aiofiles 是一个异步操作文件的库

普通IO操作会阻塞程序。造成一些问题
aiofiles 能通过将 IO操作 委派给单独的线程池来处理 来解决这个问题

pypi链接: https://pypi.org/project/aiofiles/

特性

  • aiofiles 为文件操作提供 简但的 阻塞的 API
  • 支持缓冲读取
  • 支持 async/await

使用

安装

1
pip install aiofiles

open()

它的操作和原生的open()函数非常类似

1
2
3
async with aiofiles.open('filename', mode='r') as f:
contents = await f.read()
print(contents)

在操作成功以后,返回的对象包含以下的方法可以使用

  • close
  • flush
  • isatty
  • read
  • readall
  • read1
  • readinto
  • readline
  • readlines
  • seek
  • seekable
  • tell
  • truncate
  • writable
  • write
  • writelines
    如果操作并不成功,那么会抛出错误

aiofiles.os

aiofiles.os 模块包含一些用于处理文件的有用 os函数的协程版本

  • stat
  • sendfile
  • rename
  • remove
  • mkdir
  • rmdir