You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何导入aiofiles后无法调用aiofiles.os.makedirs函数?

aiofiles.os访问报错的原因及解决办法

问题根源

aiofiles 23.1.0版本中,os是独立的子模块,仅执行import aiofiles时,Python不会自动加载该子模块,所以直接调用aiofiles.os.makedirs会触发AttributeError。

你看到的直接用aiofiles.os的示例,要么是基于旧版aiofiles(23.x之前的版本),要么示例代码里隐含了from aiofiles import os这类导入操作,只是没写出来。

可用的解决方式

除了你已经用的显式导入并重命名的写法:

import asyncio
from aiofiles import os as aioos

asyncio.run(aioos.makedirs('downloads', exist_ok=True))

还可以直接显式加载aiofiles.os子模块,之后就能用aiofiles.os的写法:

import asyncio
import aiofiles
import aiofiles.os  # 显式导入子模块

asyncio.run(aiofiles.os.makedirs('downloads', exist_ok=True))

版本验证

要确认当前aiofiles版本,可执行以下代码:

import aiofiles
print(aiofiles.__version__)

23.x及以上版本都需要显式导入子模块才能通过aiofiles.os访问方法。

内容的提问来源于stack exchange,提问作者Anton Balabanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:02:16