如果我在Unix系统上,那么我可以在Python中执行类似的操作,以非阻塞模式打开文件:
fd=os。打开(文件路径,os.O\u非块)
但是,在Windows中,os。O_NONBLOCK
不存在,如果我们尝试使用它,就会得到一个os
模块错误“module”对象没有O_NONBLOCK
属性。对于非阻塞输入,我们必须这样做:https://github.com/jonathanslenders/python-prompt-toolkit/blob/master/prompt_toolkit/terminal/win32_input.py#L99
但在Cygwin中,非阻塞输入是如何工作的?Cygwin是否模拟类似于O_NONBLOCK
选项的东西?
O_NONBLOCK可用于C编程。您可以在头文件/usr/include/sys/\u default\u fcntl中看到定义。H
#define _FNONBLOCK 0x4000 /* non blocking I/O (POSIX style) */
#define O_NONBLOCK _FNONBLOCK
您可以直接尝试神奇的数字0x4000。