Как использовать os.umask ()в Python

Я пытаюсь установить umask с помощью модуля os. Обратите внимание, что мой обычный набор umask в моем ~/.profile равен umask 0027.

В оболочке bash

umask 0022

позволит создать файл с разрешениями

-rw-r--r--

Однако, когда мы импортируем модуль os и сделать это:

os.umask(0022)
[do some other code here that creates a file]

Я получаю разрешения

----------

Во-первых,как заставить os.umask (mask )вести себя как umask в оболочке?

Во-вторых, какова логика между различием между ними?

Примечание. :Я попытался преобразовать 0022 в десятичное число на случай, если ожидается десятичное число, выполнив :

os.umask(18)

, но это дало разрешения

-----w--w-

Также обратите внимание, я пробовал

os.umask(00022)

и

os.mask(0o0022)

, которые не работать либо.

12
задан narnie 24 April 2012 в 03:38
поделиться