
読み取り専用の変更方法
os.chmod() 関数の引数に ファイル名 と モード を指定します。モードに「stat.S_IREAD」を指定すると 読み取り専用 になり、「stat.S_IWRITE」を指定すると 書き込み可能 になります。import os
import stat
# 読み取り専用にする
os.chmod(path='ファイル名', mode=stat.S_IREAD)
# 読み取り専用を外す
os.chmod(path='ファイル名', mode=stat.S_IWRITE)
- 対象のファイルが無い場合、エラー「FileNotFoundError」が発生します。
- 変更前と変更後でファイル属性が変わらない場合、エラーにはなりません。
import os
import stat
# test1.txt を読み取り専用にする
os.chmod(path='./test1.txt', mode=stat.S_IREAD)
# test2.txt の読み取り専用を外す
os.chmod(path='./test2.txt', mode=stat.S_IWRITE)
- 1-2行目 chmod() を使用するには os と stat モジュール のインポートが必要です。
- 5行目 test1.txt を読み取り専用にしています。
- 8行目 test2.txt を書き込み可能にしています。


検証環境
- Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 21H1 OS Build 19043.1237 Experience: Windows Feature Experience Pack 120.2212.3530.0