×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

サイトトップまとめドキュメントPython属性情報の取得 ≫ ファイルやディレクトリの生の属性値の取得

ファイルやディレクトリの生の属性値の取得

例85 ファイルやディレクトリの生の属性値の取得

[任意]ファイル名: statrawvalue.py エンコーディング: UTF-8

#! /usr/bin/python
# -*- coding: utf-8 -*-

# ファイルやディレクトリの生の属性値を取得するテスト

print ('生の属性情報を取得するテスト')

# osモジュールを使用
import os

# ここからディレクトリ「/」の情報を取得する
path = '/'
si = os.stat (path)  # この結果の中に色々なデータが含まれており「.[メンバ名]」で個別の値を取り出せる
# 出力に書いている通りの幾つかの「st_」付きのメンバをそのまま表示している
# 中にはそのままの値では人間には読みにくく加工が必要なものもある
# 種類を示すst_modeについては
# 代わりにos.path.isfile(), os.path.isdir(), os.path.islink(), os.path.ismount()を用いる方法もある
print ('''\
ディレクトリ "{name}" の情報:
 種類を示す値(st_mode)={mode}
 iノード番号(st_ino)={ino}
 デバイス(st_dev)={dev}
 ハードリンク数(st_nlink)={nlink}
 所有ユーザのユーザID(st_uid)={uid}
 所有グループのグループID(st_gid)={gid}
 バイト単位のサイズ(st_size)={size}
 最終アクセス(st_atime)={atime}
 最終更新(st_mtime)={mtime}
 最終属性更新もしくは作成日時(st_ctime)={ctime}
'''.format (name=path, mode=si.st_mode, ino=si.st_ino, dev=si.st_dev, nlink=si.st_nlink, uid=si.st_uid, gid=si.st_gid, size=si.st_size, atime=si.st_atime, mtime=si.st_mtime, ctime=si.st_ctime))

# ここからファイル「/etc/fstab」の情報を取得する
path = '/etc/fstab'
si = os.stat (path)
print ('''\
ファイル "{name}" の情報:
 種類を示す値(st_mode)={mode}
 iノード番号(st_ino)={ino}
 デバイス(st_dev)={dev}
 ハードリンク数(st_nlink)={nlink}
 所有ユーザのユーザID(st_uid)={uid}
 所有グループのグループID(st_gid)={gid}
 バイト単位のサイズ(st_size)={size}
 最終アクセス(st_atime)={atime}
 最終更新(st_mtime)={mtime}
 最終属性更新もしくは作成日時(st_ctime)={ctime}\
'''.format (name=path, mode=si.st_mode, ino=si.st_ino, dev=si.st_dev, nlink=si.st_nlink, uid=si.st_uid, gid=si.st_gid, size=si.st_size, atime=si.st_atime, mtime=si.st_mtime, ctime=si.st_ctime))

print ('終わり')

実行例:

生の属性情報を取得するテスト
ディレクトリ "/" の情報:
 種類を示す値(st_mode)=16877
 iノード番号(st_ino)=2
 デバイス(st_dev)=2072
 ハードリンク数(st_nlink)=29
 所有ユーザのユーザID(st_uid)=0
 所有グループのグループID(st_gid)=0
 バイト単位のサイズ(st_size)=4096
 最終アクセス(st_atime)=1234567890.0
 最終更新(st_mtime)=1234567890.0
 最終属性更新もしくは作成日時(st_ctime)=1234567890.0

ファイル "/etc/fstab" の情報:
 種類を示す値(st_mode)=33188
 iノード番号(st_ino)=887709
 デバイス(st_dev)=2072
 ハードリンク数(st_nlink)=1
 所有ユーザのユーザID(st_uid)=0
 所有グループのグループID(st_gid)=0
 バイト単位のサイズ(st_size)=2417
 最終アクセス(st_atime)=1234567890.0
 最終更新(st_mtime)=1234567890.0
 最終属性更新もしくは作成日時(st_ctime)=1234567890.0
終わり