Jak korzystać z os.umask () w Pythonie

Usiłuję ustawić umask za pomocą modułu os. Proszę zauważyć, że mój normalny zestaw umask w moim ~ / .profile to umask 0027.

W powłoce bash,

<code>umask 0022
</code>

pozwoli na utworzenie pliku z uprawnieniami

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

Jednak gdy importujemy moduł os i robimy to:

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

Otrzymuję uprawnienia

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

Po pierwsze, jak zrobić, aby os.umask (maska) zachowywała się jak umask w powłoce?

Po drugie, jaka jest logika między różnicą tych dwóch?

Uwaga: Próbowałem przekonwertować 0022 na dziesiętny na wypadek, gdyby spodziewał się przecięcia dziesiętnego:

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

ale dał zezwolenia

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

Zauważ też, że próbowałem

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

i

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

Który też nie zadziałał.

questionAnswers(4)

yourAnswerToTheQuestion