Como usar os.umask () em Python

Estou tentando definir uma umask usando o módulo os. Por favor, note que minha normal umask set no meu ~ / .profile é umask 0027.

Em uma concha bash,

<code>umask 0022
</code>

permitirá que um arquivo seja criado com permissões

<code>-rw-r--r--
</code>

No entanto, quando nós importarmos o módulo os e fizermos isso:

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

Eu recebo permissões de

<code>----------
</code>

Primeiro, como eu faço o os.umask (mask) se comportar como umask no shell?

Em segundo lugar, qual é a lógica entre a diferença dos dois?

Nota: Eu tentei converter o 0022 para decimal, caso ele esteja esperando um decimal fazendo:

<code>os.umask(18)
</code>

mas deu permissões de

<code>-----w--w-
</code>

Observe também que eu tentei

<code>os.umask(00022)
</code>

e

<code>os.mask(0o0022)
</code>

Que não funcionou também.

questionAnswers(4)

yourAnswerToTheQuestion