Python-獲取文件狀態模塊-os stat lastat fstat path


案例:

       在某項目中,需要獲取文件狀態,如:

  1. 文件的類型(普通文件、目錄、符合連接、設備文件)
  2. 文件的訪問權限
  3. 文件最后 訪問、修改、節點狀態 時間
  4. 普通文件大小
  5. ……

如何解決?

       方法1:通過os原始接口,stat() , lstat(),fstat()

              stat()      文件所有屬性

              lstat()     不查看鏈接文件類型

              fstat()     傳入參數為文件描敘符

#!/usr/bin/python3

import os
import stat

s = os.stat('python.PNG')
print(s)
print(bin(s.st_mode))

# 判斷文件是否為目錄
print(stat.S_ISDIR(s.st_mode))

# 判斷文件是否是普通文件
print(stat.S_ISREG(s.st_mode))

# 判斷文件權限
# 可讀,user,大於0為真
print(s.st_mode & stat.S_IRUSR)

# 可執行,user
print(s.st_mode & stat.S_IXGRP)

# 獲取文件 訪問、修改、節點狀態 時間
import time

print(time.localtime(s.st_atime))
print(time.localtime(s.st_ctime))
print(time.localtime(s.st_mtime))

# 獲取文件大小
print(s.st_size)

       方法2:os.path下的方法,更簡潔

#!/usr/bin/python3

# os.path方法
import os

# 判斷文件是否為目錄
print(os.path.isdir('python.PNG'))

# 判斷文件是否是普通文件
print(os.path.isfile('python.PNG'))


# 獲取文件 訪問、修改、節點狀態 時間
import time

print(time.localtime(os.path.getatime('python.PNG')) )
print(time.localtime(os.path.getmtime('python.PNG')) )
print(time.localtime(os.path.getctime('python.PNG')) )

# 獲取文件大小
print(os.path.getsize('python.PNG'))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM