Cómo usar os.umask () en Python

Estoy tratando de establecer un umask utilizando el módulo os. Tenga en cuenta que mi umask normal establecido en mi ~ / .profile es umask 0027.

En una concha de bash,

<code>umask 0022
</code>

Permitirá la creación de un archivo con permisos.

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

Sin embargo, cuando importamos el módulo os y hacemos esto:

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

Me dan permisos de

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

Primero, ¿cómo hago que os.umask (máscara) se comporte como umask en el shell?

Segundo, ¿cuál es la lógica entre la diferencia de los dos?

Nota: Intenté convertir el 0022 a decimal en caso de que esté esperando un decimal haciendo:

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

pero le dio permisos de

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

También nota, lo intenté

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

y

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

Lo que tampoco funcionó.

Respuestas a la pregunta(4)

Su respuesta a la pregunta