objectif
Appliquer des permissions de fichier avec des masques 0oXYZ.
code minimal
import os, tempfile, pathlib, stat
with tempfile.TemporaryDirectory() as tmp:
p = pathlib.Path(tmp)/"f"; p.write_text("x", encoding="utf-8")
os.chmod(p, 0o640)
mode = stat.S_IMODE(os.stat(p).st_mode)
print(oct(mode) == "0o640") # attendu: True
utilisation
import os, tempfile, pathlib, stat
with tempfile.TemporaryDirectory() as tmp:
p = pathlib.Path(tmp)/"f"; p.write_text("x")
os.chmod(p, 0o600)
print((stat.S_IMODE(os.stat(p).st_mode) & 0o600) == 0o600)
variante(s) utile(s)
import stat
print(stat.S_IRUSR | stat.S_IWUSR == 0o600)
notes
- Utilisez stat.S_IMODE pour extraire les bits de mode.
- Sur Windows, chmod est limité (lecture/écriture uniquement).