我想使用我在关于15+的老书中找到的以下代码(由于后向移植问题,我们目前使用Python2.7,但下一个主要项目将转到Python3.)。
import os, popen2, fcntl, select
def makeNonBlocking(fd):
fl = fcntl.fcntl(fd, fcntl.F_GETFL)
try:
fcntl.fcntl(fd, fcntl.F_SETFL, fl | fcntl.O_NDELAY)
except AttributeError:
fcntl.fcntl(fd, fcntl.F_SETFL, fl | fcntl.FNDELAY)问题是它找不到属性'fcntl.FNDELAY‘。用谷歌搜索了一个多小时,我再也不能继续搜索了。将代码替换为NULL语句可确认它正在查找fcntl.O_NDELAY
操作系统为Linux Mint 17.3
发布于 2017-11-28 20:46:00
快速谷歌搜索表明,您可能正在寻找os.O_NDELAY,它在某种程度上也被称为os.FNDELAY。
https://stackoverflow.com/questions/47531788
复制相似问题