Python - 找不到fcntl.FNDELAY

时间:2017-11-28 12:35:26

标签: linux python-2.7

我想使用我在15年以上的Python上发现的以下代码(我们目前使用的是Python 2.7,因为后端移植问题,但将在下一个主要项目中使用Python 3.)

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)

问题是它无法找到属性&f; ccntl.FNDELAY'。谷歌搜索超过一个小时让我没有进一步。用NULL语句替换代码确认它正在查找fcntl.O_NDELAY

操作系统是Linux Mint 17.3

1 个答案:

答案 0 :(得分:0)

快速谷歌搜索表明您可能正在寻找os.O_NDELAY,这在某些时候也被称为os.FNDELAY