[解決済み] Pythonモジュール os.chmod(file, 664) は、パーミッションを rw-rw-r-- ではなく、-w--wx----- に変更しない。
2022-03-01 23:40:52
質問
最近、Pythonのモジュールosを使っているのですが、ファイルのパーミッションを変更しようとしたところ、期待した結果が得られません。例えば、私はパーミッションをrw-rw-r--に変更するつもりでした。
os.chmod("/tmp/test_file", 664)
所有権のパーミッションは、実際には -w--wx--- (230) です。
--w--wx--- 1 ag ag 0 Mar 25 05:45 test_file
しかし、コード内で664を0664に変更すると、結果は私が必要とするものと同じになります。
os.chmod("/tmp/test_file", 0664)
その結果、次のようになります。
-rw-rw-r-- 1 ag ag 0 Mar 25 05:55 test_file
どなたか、正しい結果を得るために、なぜ先頭の0が重要なのか、説明してください。
どのように解決するのですか?
で見つけました。 別のフォーラム
<ブロッククオートなぜ先頭のゼロが重要なのかというと、それは パーミッションは8進数の整数で設定され、Pythonは自動的に は、先頭の0を含む整数を8進数として扱います。つまり、os.chmod("file", 484) (10進数)は同じ結果になります。
あなたがやっていることは
664
であり、8進数では
1230
あなたの場合、次のようになります。
os.chmod("/tmp/test_file", 436)
[更新】Python 3では、プレフィックスに0o(ゼロオー)が付くことに注意してください。) 例
0o666
関連
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] Pythonの "assert "はどのように使うのですか?
-
[解決済み] Pythonの@propertyデコレーターはどのように機能するのでしょうか?
-
[解決済み] ファイルの作成日時、変更日時を取得する方法
-
[解決済み] サーバーを介さずに、ユーザーがダウンロードできるファイルをメモリ上に作成するにはどうすればよいですか?
-
[解決済み] Pythonモジュールをアンロード(再ロード)するにはどうしたらいいですか?
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み] PythonモジュールとPythonパッケージの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] POSIX」の意味を教えてください。
-
[解決済み] pythonの中で簡単な "chmod +x "を行うにはどうすればよいですか?