Juliaでファイルのメタデータを確認する方法
説明1
Juliaでファイルのメタデータを確認するには stat() 関数を使えばよい。基本ライブラリである Base の Filesysyem に含まれているため別途読み込むパッケージはない。stat はファイルのサイズ、更新時刻、作成時刻など様々な情報を含む StatStruct オブジェクトを返す。
코드
テキストファイルを任意に1つ作成して stat() の入力として渡してみると以下のようになる。
julia> info = stat("test.txt")
StatStruct for "test.txt"
size: 82 bytes
device: 1692283895
inode: 26886
mode: 0o100666 (-rw-rw-rw-)
nlink: 1
uid: 0
gid: 0
rdev: 0
blksz: 4096
blocks: 0
mtime: (1 minute ago)
ctime: (1 minute ago)
julia> typeof(info)
Base.Filesystem.StatStruct
julia> info.size
82
julia> info.device
0x0000000064de33f7
各項目の意味は次の通り。
| 名前 | 型 | 説明 |
|---|---|---|
| desc | Union{String, Base.OS_HANDLE} | ファイルパスまたはOSのファイルディスクリプタ |
| size | Int64 | ファイルサイズ(バイト単位) |
| device | UInt | ファイルが存在するデバイスID |
| inode | UInt | ファイルのinode番号 |
| mode | UInt | ファイルの保護モード(パーミッション) |
| nlink | Int | ファイルに結びついているハードリンク数 |
| uid | UInt | ファイル所有者のユーザID |
| gid | UInt | ファイル所有者のグループID |
| rdev | UInt | このファイルがデバイスを参照している場合に参照するデバイスID |
| blksize | Int64 | ファイルシステムで推奨されるブロックサイズ |
| blocks | Int64 | 割り当てられた512バイトブロック数 |
| mtime | Float64 | ファイルが最後に更新された時刻(Unixタイムスタンプ) |
| ctime | Float64 | ファイルのメタデータが最後に変更された時刻(Unixタイムスタンプ) |
時間を見やすく確認するには 🔒(25/10/29)一度変換を経る必要がある。 各属性のみを個別に返す関数も存在する。
julia> filesize("test.txt")
82
julia> mtime("test.txt")
1.7514459083956373e9
환경
- OS: Windows11
- Version: Julia 1.11.3
