文書の過去の版を表示しています。
Python モジュール: os
概要
- ファイルシステムを利用するためのモジュール
構文
- 使うときは
import os
- 以下ではこの import は省略する
- ファイルは hoge.txt を扱うものとする
ファイルの存在
存在の確認
if os.path.exists("hoge.txt"): print("file exist") else: print("No such file")
ファイルであるかの確認
if os.path.isfile("hoge.txt"): print("hoge.txt is file") else: print("No such file")
ディレクトリであるかの確認
if os.path.isdir("hoge.txt"): print("hoge.txt is file") else: print("No such file")
リンクであるかの確認
if os.path.islink("hoge.txt"): print("hoge.txt is file") else: print("No such file")
パーミッションの取り扱い
- パーミッションを取得 (Linux のマスク形式で取得)
oct(os.stat("hoge.txt")[ST_MODE][-4:]
- 通常の 3 桁の前に
0
が付いた形式で返される (例: 0755, 0600, …)
- パーミッションの設定 (Linux のマスク形式で設定)
os.chmod("hoge.txt", 0o0755)
- 今回はパーミッションを 0755 に設定している
- 通常のパーミッションの 3 桁の前に
0
を付ける上、この数字は 8 進数なので、0o
を付ける -
0o
を付けないと Syntax error (SyntaxError: invalid token) になる
環境変数取得
- シェル内部での環境変数を取得する方法
VARIABLE = os.environ[ENV_VAR]
VARIABLE
: シェル変数を受け取るための変数ENV_VAR
: 環境変数名 (文字列)- 例:
hoge = os.environ["PATH"]
- nautilus-scripts や nemo-scripts の変数も環境変数であるので、この方法で取得する