Verwendung von os.umask () in Python

Ich versuche mit dem os Modul eine umask zu setzen. Bitte beachten Sie, dass meine normale Umask in meinem ~ / .profile umask 0027 ist.

In einer Bash-Shell,

<code>umask 0022
</code>

Ermöglicht das Erstellen einer Datei mit Berechtigungen

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

Wenn wir jedoch das os-Modul importieren und dies tun:

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

Ich erhalte die Erlaubnis von

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

Erstens, wie kann ich os.umask (mask) dazu bringen, sich wie umask in der Shell zu verhalten?

Zweitens, was ist die Logik zwischen dem Unterschied der beiden?

Hinweis: Ich habe versucht, die 0022 in eine Dezimalzahl umzuwandeln, falls eine Dezimalzahl erwartet wird.

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

aber es gab Berechtigungen von

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

Beachten Sie auch, ich habe es versucht

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

und

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

Welches hat auch nicht funktioniert.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage