os.O#U EXLOCK(独占锁)不';Linux上的Python中不存在

os.O#U EXLOCK(独占锁)不';Linux上的Python中不存在,python,python-2.6,Python,Python 2.6,正如您在下面看到的,我在Linux(RHEL)上运行Python2.6,但由于某些原因,它没有os.O_EXLOCK。有什么原因吗?有办法解决这个问题吗 Python 2.6.5 (r265:79063, Apr 9 2010, 11:16:46) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. &g

正如您在下面看到的,我在Linux(RHEL)上运行Python2.6,但由于某些原因,它没有os.O_EXLOCK。有什么原因吗?有办法解决这个问题吗

Python 2.6.5 (r265:79063, Apr  9 2010, 11:16:46) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.O_EXLOCK
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'O_EXLOCK'
>>> os.O_DSYNC
4096
>>>
Python 2.6.5(r265:790632010年4月9日11:16:46) linux2上的[GCC 4.1.2 20080704(Red Hat 4.1.2-48)] 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>导入操作系统 >>>os.O_EXLOCK 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 AttributeError:“模块”对象没有属性“O_EXLOCK” >>>os.O\U同步 4096 >>> 如中所述

以下常量是指向的flags参数的选项 open()函数。它们可以使用按位OR运算符|组合。 其中一些并非在所有平台上都可用。有关 有关其可用性和使用方法,请参阅Unix或 Windows上的MSDN


O_EXLOCK
;它通常在Linux上不可用。您可能可以改为使用。

这似乎是BSD特定的,例如,iOS有
os.O_EXLOCK
@Kyo,在您的操作系统中,您会注意到
man 2 open
也没有列出
O_EXLOCK
。似乎只有此处列出的选项与
os
模块中的选项的交叉点才可用。