我在asyncio
事件循环中运行了一些Python3代码。
我想使用os.chmod(...)
的功能,但最好是非阻塞版本,以便我可以使用await os.chmod(...)
,并避免进行阻塞系统调用。
我不相信有任何提供此功能的库,至少从我能看到的情况来看。
我如何从头开始实现非阻塞os.chmod(...)
?更好的是,是否有预先存在的解决方案?
答案 0 :(得分:6)
UNIX系统尚未为chmod
系统调用实现异步API。
因此,您可以做的最好是在线程池中运行它:
await loop.run_in_executor(None, os.chmod, fname, mode)