我有一个八进制表示Linux文件权限。权限当前为I.E 0o640
,我想将组位设置为6(即0o660
)。我看到我可以将位设置在第n位here,但是我得到的结果很特殊,我想这是因为八进制表示。
我尝试过:
perm = 0o640
# Set the bit in the 2nd place (index 1) to 6.
new_perm = perm | (6<<1)
# new_perm is now 0o634 (wanted 0o660).
我猜我做错了...
我还想知道在使用文件权限时在Python中使用八进制代替常规整数有什么好处。
谢谢!
<<
移位数。对于您想要的答案,应将0o600
移位3
。
perm = 0o600
new_perm = perm | (6<<3)
print(new_perm == 0o660)
输出:True