Python | os.fchmod()メソッド

|

Unixライクなシステムでは、モード—これらは、ファイルにアクセスするためにユーザー、グループ、およびその他のクラスに付与されるファイルシステムのアクセス許可です。
os.fchmod() は、指定されたファイル記述子で指定されたファイルモードを指定された数値モードに変更するために使用されます。 。このメソッドは、 os.chmod(fd、mode) と同等です。

注。 このメソッドは、Unixプラットフォームでのみ使用できます。

構文: os.fchmod(fd、mode)

パラメーター:
fd:モードが設定されるファイル記述子。
モード:設定するモードを表す数値。
モードは、次の値のいずれか、またはそれらのビットごとのORの組み合わせを取ることもできます:

  • stat.S_ISUID:実行時にユーザーIDを設定します
  • stat.S_ISGID:実行時にグループIDを設定します
  • stat.S_ENFMT:レコードロックが適用されます< / li>
  • stat.S_ISVTX:実行後にテキスト画像を保存します
  • stat.S_IREAD:所有者が読み取ります。
  • stat.S_IWRITE:所有者による書き込み。
  • stat.S_IEXEC:所有者が実行します。
  • 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:他のユーザーによる実行
  • 戻りタイプ:このメソッドは値を返しません。

    コード: osメソッドを使用.fchmod()

    #os.fchmod()メソッド定義を説明するPythonプログラム


    #osモジュールのインポート

    import os


    #統計モジュールのインポート

    import stat


    #ファイル名

    ファイル名 = "file.txt"


    #指定されたファイルを開き、
    #ファイル記述子を取得
    #これに関連する
    os.open ()メソッド

    fd = os。 open (filename、os.O_RDWR)


    #現在の数値モードを出力します
    #(オクタル)ファイル

    モード = oct (os。 stat(fd).st_mode)[ - 3 :]

    print "ファイルの現在の数値モード(オクタル表記): " 、mode)


    #モードを変更します
    ファイル#


    #octal 777モード値として
    #読み取り、書き込み、実行ミッション
    #所有者、グループなどの場合

    モード = 0o777

    os.fchmod(fd、mode)

    print "ファイルモードが正常に変更されました"


    #変更された数値モードを印刷
    #(オクタル)ファイル

    モード = oct (os.stat(fd).st_mode)[ - 3 :]

    print "ファイルの現在の数値モード(オクタル表記): " 、mode)


    #モードパラメータは
    #にすることもできます
    #統計モジュール


    #変更モードで定義されたフラグによって定義されます

    モード = stat.S_IRWXU

    os.fchmod(fd、mode)

    print "ファイルモードが正常に変更されました"

    print "これで、ファイルは所有者のみが読み取り、書き込み、実行できるようになりました"


    #変更された数値モードを出力
    #(オクタル)ファイル

    モード = oct (os.stat(fd).st_mode)[ - 3 :]

    print "ファイルの現在の数値モード(8進表記):" 、mode)

    < / p>


    #モードを変更 < p> モード = stat.S_IRWXU | stat.S_IRGRP

    os.fchmod(fd、mode)

    print "ファイルモードが正常に変更されました"

    print ( "Now、 ファイル読み取り、書き込みが可能 および実行

    所有者によるが、グループごとに読み取ることができる ")


    #変更された数値モードを印刷
    #(オクタル)ファイル

    モード = oct (os.stat(fd).st_mode)[ - 3 :]

    p rint "ファイルの現在の数値モード(8進表記):" 、mode)


    #ファイル記述子を閉じる
    os.close(fd)

    終了:

    ファイルの現在の数値モード(オクタル表記):666ファイルモードが正常に変更されましたファイルの現在の数値モード(オクタル表記):777ファイルモードが正常に変更されましたこれで、ファイルは所有者のみが読み取り、書き込み、および実行できますファイルの現在の数値モード(オクタル表記):700ファイルモードが正常に変更されましたこれで、所有者はファイルの読み取り、書き込み、実行を行うことができますが、グループは読み取ることができますファイルの現在の数値モード(オクタル表記):740