【无标题】

AIOFILES文件操作类封住

# 异步文件操作

import aiofiles
import asyncio

# 写入文件
async def write_content(path, content):
    async with aiofiles.open(path, 'w', encoding='UTF-8') as fp:
        await fp.write(content)
        print(f'写入{path}文件成功')

# 读取文件
async def read_content(path):
    async with aiofiles.open(path, 'r', encoding='UTF-8') as fp:
        content = await fp.read()
        return content


# 读取每一行文件
async def read_content_line(path):
    async with aiofiles.open(path, 'r', encoding='UTF-8') as fp:
        lines = []
        async for line in fp:
            lines.append(line)
        return lines


'''
    flag:操作文件标识  1 - 写文件, 2 - 读文件, 3 - 按行读文件
    path:文件路径
    content: 文件内容,如果是读文件,则为None
'''
def call_func(flag, path, content) :
    if flag == 1:
        asyncio.get_event_loop().run_until_complete(write_content(path, content))
    elif flag == 2:
        return asyncio.get_event_loop().run_until_complete(read_content(path))
    else :
        return asyncio.get_event_loop().run_until_complete(read_content_line(path))

使用方法:直接调用call_func()方法,如下:

# 写入文件
print(aiofiles_utils.call_func(1, './aiofiles_async/text.txt', '测试'))
print(aiofiles_utils.call_func(2, './aiofiles_async/text.txt', None))
print(aiofiles_utils.call_func(3, './aiofiles_async/text.txt', None))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值