Python中的asyncio版本的`os.chmod`

时间:2017-06-05 15:47:46

标签: python chmod python-asyncio

我在asyncio事件循环中运行了一些Python3代码。

我想使用os.chmod(...)的功能,但最好是非阻塞版本,以便我可以使用await os.chmod(...),并避免进行阻塞系统调用。

我不相信有任何提供此功能的库,至少从我能看到的情况来看。

我如何从头开始实现非阻塞os.chmod(...)?更好的是,是否有预先存在的解决方案?

1 个答案:

答案 0 :(得分:6)

UNIX系统尚未为chmod系统调用实现异步API。 因此,您可以做的最好是在线程池中运行它:

await loop.run_in_executor(None, os.chmod, fname, mode)