我知道如何使用以下代码实现chmod u + w:
st = os.stat(dest_file)
os.chmod(dest_file, st.st_mode | stat.S_IWUSR)
但你怎么样?
答案 0 :(得分:6)
st = os.stat(dest_file)
os.chmod(dest_file, st.st_mode & ~stat.S_IWUSR)
说明:~
是按位NOT运算符,因此带有~stat.S_IWUSR
的按位AND会清除st.st_mode
的标记。
用虚数值来说明:
stat.S_IWUSR 00001000
~stat.S_IWUSR 11110111
s.st_mode 00101001
s.st_mode & ~stat.S_IWUSR 00100001