您的位置:首页 > 编程语言 > Python开发

python_如何获取文件状态

2017-07-30 11:09 471 查看
案例:

在某项目中,需要获取文件状态,如:

文件的类型(普通文件、目录、符合连接、设备文件)

文件的访问权限

文件最后 访问、修改、节点状态 时间

普通文件大小

……

如何解决?

方法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'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: