Python模块之stat
stat模块
功能:os.stat()返回的文件属性列表中各值的意义
语法:os.stat(path)
import os
import time
import stat
fileStats = os.stat('test.txt') # 获取文件/目录的状态
fileInfo = {
'Size': fileStats[stat.ST_SIZE], # 获取文件大小
'LastModified':time.ctime(fileStats[stat.ST_MTIME]), # 获取文件最后修改时间
'LastAccessed':time.ctime(fileStats[stat.ST_ATIME]), # 获取文件最后访问时间
'CreationTime':time.ctime(fileStats[stat.ST_CTIME]), # 获取文件创建时间
'Mode':fileStats[stat.ST_MODE] # 获取文件的模式
}
# print fileInfo
for field in fileInfo: # 显示对象内容
print('%s:%s' % (field, fileInfo[field]))
if stat.S_ISDIR(fileStats[stat.ST_MODE]): # 判断是否路径
print('Directory. ')
else:
print('Non-directory.')
if stat.S_ISREG(fileStats[stat.ST_MODE]): # 判断是否一般文件
print('Regular file.')
elif stat.S_ISLNK(fileStats[stat.ST_MODE]): # 判断是否链接文件
print('Shortcut.')
elif stat.S_ISSOCK(fileStats[stat.ST_MODE]): # 判断是否套接字文件
print('Socket.')
elif stat.S_ISFIFO(fileStats[stat.ST_MODE]): # 判断是否命名管道
print('Named pipe.')
elif stat.S_ISBLK(fileStats[stat.ST_MODE]): # 判断是否块设备
print('Block special device.')
elif stat.S_ISCHR(fileStats[stat.ST_MODE]): # 判断是否字符设置
print('Character special device.')
stat 模块描述了os.stat(filename)返回的文件属性列表中各值的意义.我们可方便地根据stat模块存取os.stat()中的值. os.stat(path)执行一个stat()系统调用在给定的path上,返回一个类元组对象(stat_result对象,包含10个元素),属性 与stat结构成员相关:
st_mode(权限模式)
st_ino(inode number)
st_dev(device)
st_nlink(number of hard links)
st_uid(所有用户的user id)
st_gid(所有用户的group id)
st_size(文件大小,以位为单位)
st_atime(最近访问的时间)
st_mtime(最近修改的时间)
st_ctime(创建的时间)
>>> print(os.stat("test.txt"))
os.stat_result(st_mode=33206, st_ino=77124143618747593, st_dev=1620667770, st_nl
ink=1, st_uid=0, st_gid=0, st_size=29, st_atime=1463121512, st_mtime=1463123393,
st_ctime=1463121512)
>>> print("mode:", os.stat("test.txt").st_mode) # 权限模式
mode: 33206
>>> print("inode number:", os.stat("test.txt").st_ino) # inode number
inode number: 77124143618747593
>>> print("device", os.stat("test.txt").st_dev) # device
device 1620667770
>>> print("number of hard links:", os.stat("test.txt").st_nlink) # number of hard links
number of hard links: 1
>>> print("user id", os.stat("test.txt").st_uid) # 所有用户的user id
user id 0
>>> print("group id:", os.stat("test.txt").st_gid) # 所有用户的group id
group id: 0
>>> print("file size:", os.stat("test.txt").st_size) # 文件的大小,以位为单位
file size: 29
>>> print("file atime:", os.stat("test.txt").st_atime) # 文件最后访问时间
file atime: 1463121512.3926847
>>> print("file mtime:", os.stat("test.txt").st_mtime) # 文件最后修改时间
file mtime: 1463123393.0182502
>>> print("file ctime:", os.stat("test.txt").st_ctime) # 文件创建时间
file ctime: 1463121512.3926847
出处:http://www.cnblogs.com/madsnotes/
声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。