-
以下ではこの 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:]
パーミッションの設定 (Linux のマスク形式で設定)
os.chmod("hoge.txt", 0o0755)
更新日時
os.stat
で
os.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]
-
リンク先を取得