ファイルアクセスのパーミッションを変更しようとしています:
os.chmod(path, mode)
読み取り専用にしたい:
os.chmod(path, 0444)
ファイルを読み取り専用にする他の方法はありますか?
ファイルアクセスのパーミッションを変更しようとしています:
os.chmod(path, mode)
読み取り専用にしたい:
os.chmod(path, 0444)
ファイルを読み取り専用にする他の方法はありますか?
os.chmod(path, stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH)
次のフラグは、os.chmod() のモード引数でも使用できます。
stat.S_ISUID
UID ビットを設定します。
stat.S_ISGID
セット グループ ID ビット。このビットにはいくつかの特別な用途があります。ディレクトリの場合、BSD セマンティクスがそのディレクトリに使用されることを示します。そこで作成されたファイルは、作成プロセスの有効なグループ ID からではなく、ディレクトリからグループ ID を継承し、そこで作成されたディレクトリも S_ISGID ビット セットを取得します。グループ実行ビット (S_IXGRP) が設定されていないファイルの場合、set-group-ID ビットは必須のファイル/レコード ロックを示します (S_ENFMT も参照)。
stat.S_ISVTX
スティッキービット。このビットがディレクトリに設定されている場合、そのディレクトリ内のファイルは、ファイルの所有者、ディレクトリの所有者、または特権プロセスによってのみ名前変更または削除できることを意味します。
stat.S_IRWXU
ファイル所有者のパーミッションのマスク。
stat.S_IRUSR
所有者には読み取り権限があります。
stat.S_IWUSR
所有者には書き込み権限があります。
stat.S_IXUSR
所有者には実行権限があります。
stat.S_IRWXG
グループ権限のマスク。
stat.S_IRGRP
グループには読み取り権限があります。
stat.S_IWGRP
グループには書き込み権限があります。
stat.S_IXGRP
グループには実行権限があります。
stat.S_IRWXO
他のユーザー (グループ外) のアクセス許可のマスク。
stat.S_IROTH
その他は読み取り権限を持っています。
stat.S_IWOTH
その他は、書き込み権限があります。
stat.S_IXOTH
その他は実行権限を持っています。
stat.S_ENFMT
System V ファイル ロックの強制。このフラグは S_ISGID と共有されます。ファイル/レコードのロックは、グループ実行ビット (S_IXGRP) が設定されていないファイルに適用されます。
stat.S_IREAD
S_IRUSR の Unix V7 シノニム。
stat.S_IWRITE
S_IWUSR の Unix V7 シノニム。
stat.S_IEXEC
S_IXUSR の Unix V7 シノニム。
os.chmod(path, 0444)
は、Python 2.x でファイルのアクセス許可を変更するための Python コマンドです。Python 2 と Python 3 を組み合わせたソリューションの場合は、 に変更0444
し0o444
ます。
Python を使用して、いつでも chmod コマンドを呼び出すことができますsubprocess
。ただし、これはLinuxでのみ機能すると思います。
import subprocess
subprocess.call(['chmod', '0444', 'path'])
pathlibも使用できます
from pathlib import Path
fl = Path("file_name")
fl.chmod(0o444)
フラグを覚える必要はありません。いつでもできることを覚えておいてください:
subprocess.call(["chmod", "a-w", "file/path])
移植性はありませんが、書きやすく覚えやすいです。
man chmod
追加のオプションと詳細な説明については、 を参照してください。