Python 3.6.0:'os'模块没有'sched_getaffinity'方法

时间:2017-03-01 17:24:04

标签: python python-3.x affinity

我正在尝试使用Why does multiprocessing use only a single core after I import numpy?中建议的'os.sched_getaffinity'方法检查我的脚本使用的核心数。但是当我跑步时

import os
os.sched_getaffinity(0)

我得到了

AttributeError                            
Traceback (most recent call last) <ipython-input-1-895d9c252fd1> in <module>()
1 import os
----> 2 os.sched_getaffinity(0)
AttributeError: module 'os' has no attribute 'sched_getaffinity'

这里出了什么问题?来自'os'模块的其他标准方法似乎有效。我用Python 3.6.0运行Anaconda 4.3.0。我试过Mac和Linux。检查和更改任务关联的任何其他方法?

1 个答案:

答案 0 :(得分:7)

文档说“它们只能在某些Unix平台上使用。”我想你的平台不是这些功能集支持的平台之一。您可以通过键入

来查看提供的内容
>>> import os
>>> print(dir(os))

该功能确实存在于我的Debian Linux机器上,但它在Windows和OSX上也不存在。我不知道为什么你的Linux机器上没有它。也许你的Linux太老了?

另外一个简单的谷歌“python进程亲和力”提供了几种选择