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ł.