我正在编写一个FUSE客户机,使用python-fuse
。在
其中一个需要编写的函数模拟了Pythonos.open()
函数,我需要测试flags参数。在
通过使用按位或来组合os.O_*常量,很容易创建这样的参数。在
但我不知道如何测试是否设置了特定的设置。在
看到了吗
if flags | os.O_append:
...
在圣诞节举个例子,不知道这是否正确。是否正在测试是否在flag中设置了APPEND标志?忽略是否设置了其他标志?在
我在努力
^{pr2}$
但似乎不起作用。在
绝对是个Python怪。在
Tags:
用
&
掩蔽测试:|
用于组合标志,使用&
(按位与)来测试是否设置了标志。if flags | os.O_APPEND
行很可能是xmp.py
示例中的一个错误,它始终是True
。在演示:
^{pr2}$因为数字0为false,而其他任何数值为true,
8
被视为true。在注意,
os.O_RDONLY
是0
;它相当于没有设置任何标志。您可以显式地测试(if not flags
或if flags == os.O_RDONLY
),或者从其他标志的测试中推断出来。在相关问题 更多 >
编程相关推荐