import affinity
导入affinity模块后运行代码,报错:
Traceback (most recent call last): File
“E:/PYY_project/0x01/Python_project/HFreceiver.py”, line 8, in
import affinity File “E:\PYY_project\python\venv\lib\site-packages\affinity_init_.py”,
line 29
except pywintypes.error, e:
^ SyntaxError: invalid syntax
报错原因:
这个错误表明在 Python 3.7 中导入 affinity 模块时出现了语法错误。问题出在 affinity 模块的代码中,语法 except pywintypes.error, e: 是 Python 2 的语法,而 Python 3 中这种写法会导致语法错误。
解决方法:
在 Python 3 中,except 语句应该写成 except pywintypes.error as e:。可能的解决方法有:
-
使用 Python 3 兼容的 affinity 版本:检查是否有适用于 Python 3 的新版本的 affinity 模块。可以通过以下命令更新模块:
pip install --upgrade affinity
-
手动修改代码:如果没有适用于 Python 3 的新版本,您可以手动编辑 affinity 模块文件
将 except pywintypes.error, e: 修改为: except pywintypes.error as e:
将 raise ValueError, e 修改为: raise ValueError(e)
这个文件通常在您的虚拟环境目录下,例如:E:\PYY_project\python\venv\lib\site-packages\affinity_init_.py
-
寻找替代库:如果 affinity 库没有更新,您可以考虑使用其他支持线程或进程 CPU 亲和性(CPU affinity)设置的模块,如 psutil。(两者区别见文章链接)