Почему аргумент os.umask ()перевернут? (umask 0o000 делает chmod 0o777)

В большинстве мест разрешения определяются как восьмеричное число в формате 0777. Но команда UNIX umask(таким образомos.umask())требуется 0o000для создания битов разрешения 0o777, а 0o022равно 0o755в моем понимании.

Я слышал, что UNIX umaskпо какой-то причине инвертируется, и я не понимаю, почему это происходит. Может ли кто-нибудь объяснить это несоответствие?

11
задан Whisperity 2 July 2012 в 13:13
поделиться