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")

パーミッション

更新日時

  • os.statos.stat_result オブジェクトを取得し整形する。
    os.stat(FILE).st_atime
    os.stat(FILE).st_mtime
    os.stat(FILE).st_ctime
    • FILE: 更新日時を取得するファイル
    • .st_atime: 最終アクセス日時
    • .st_mtime: 最終内容更新日時
    • .st_ctime: メタデータ最終更新日時
    • 得られる日時は UNIX 時間 (1970 年 1 月 1 日 0 時 0 分 0 秒からの時間) なので、datetime モジュールを用いて変換する。
      from datetime import datetime
      datetime.fromtimestamp(os.stat(FILE).st_atime).strftime("%Y/%m/%d %H:%M:%S")
      datetime.fromtimestamp(os.stat(FILE).st_mtime).strftime("%Y/%m/%d %H:%M:%S")
      datetime.fromtimestamp(os.stat(FILE).st_ctime).strftime("%Y/%m/%d %H:%M:%S")

環境変数取得

  • シェル内部での環境変数を取得する方法
    VARIABLE = os.environ[ENV_VAR]
    • VARIABLE: シェル変数を受け取るための変数
    • ENV_VAR: 環境変数名 (文字列)
    • 例:
      hoge = os.environ["PATH"]
    • nautilus-scripts や nemo-scripts の変数も環境変数であるので、この方法で取得する

リンク先を取得