Python asyncio NotImplementedError

时间:2019-09-19 15:41:14

标签: python python-asyncio

我正在尝试出于测试目的运行一些基本内容,因此无法解决此问题。这里没有很多智慧吗?

import sys
import asyncio
import signal

def ctrl_c():
    print("hit!")
    sys.exit(1)

loop = asyncio.get_event_loop()
loop.add_signal_handler(signal.SIGINT, ctrl_c)
loop.run_forever()

我正在IDLE python 3.6中运行它,其追溯为:

Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> 
============== RESTART: C:\Users\benb\Desktop\reasyncio\loop.py ==============
Traceback (most recent call last):
  File "C:\Users\benb\Desktop\reasyncio\loop.py", line 10, in <module>
    loop.add_signal_handler(signal.SIGINT, ctrl_c)
  File "C:\Users\benb\AppData\Local\Programs\Python\Python36\lib\asyncio\events.py", line 499, in add_signal_handler
    raise NotImplementedError
NotImplementedError
>>> 

任何提示都可以帮助您

1 个答案:

答案 0 :(得分:0)

该错误消息试图告诉您Windows上不提供对信号的支持。这是因为Windows本身不支持信号作为进程间通信的手段。 Windows所说的信号只能捕获过程中出现的某些低级情况,例如浮点错误或用户按下 Ctrl-C 。参见例如this post了解详情。