我想使用我在 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)
问题是它找不到属性“fcntl.FNDELAY”。谷歌搜索一个多小时没有让我进一步。用 NULL 语句替换代码确认它正在查找 fcntl.O_NDELAY
操作系统是Linux Mint 17.3
最佳答案
快速谷歌搜索表明您可能正在寻找 os.O_NDELAY
这在某些时候也被称为 os.FNDELAY
。
关于linux - Python - 找不到 fcntl.FNDELAY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47531788/