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'))
原文地址:https://www.cnblogs.com/2bjiujiu/p/7258563.html