在某些项目中,我们需要获得文件状态,例如:
解决方案:
系统调用
# -*- coding: utf-8 -*-
import os
import stat
import time
s = os.stat(‘test.txt‘)
# 文件类型
print stat.S_ISREG(s.st_mode)
# 文件的执行权限
print s.st_mode & stat.S_IXUSR
# 文件的读权限
print s.st_mode & stat.S_IRUSR
# 文件的最后访问时间
print time.localtime(s.st_atime)
# 文件的最后修改时间
print time.localtime(s.st_mtime)
# 文件的节点状态更改时间
print time.localtime(s.st_ctime)
# 文件的大小
print s.st_size
其运行结果为:
True
0
256
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=21, tm_hour=20, tm_min=23, tm_sec=52, tm_wday=4, tm_yday=202, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=21, tm_hour=20, tm_min=23, tm_sec=52, tm_wday=4, tm_yday=202, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=21, tm_hour=20, tm_min=23, tm_sec=52, tm_wday=4, tm_yday=202, tm_isdst=0)
1769
快捷函数
# 文件的大小
print s.st_size
# 文件类型
print os.path.isfile(‘test.txt‘)
# 文件的最后访问时间
print time.localtime(os.path.getatime(‘test.txt‘))
# 文件的最后修改时间
print time.localtime(os.path.getctime(‘test.txt‘))
# 文件的节点状态更改时间
print time.localtime(os.path.getmtime(‘test.txt‘))
# 文件的大小
print os.path.getsize(‘test.txt‘)
注:os.path下没有获取文件权限的函数,因此只能使用系统调用方法来获取文件权限。
其运行结果为:
True
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=21, tm_hour=20, tm_min=23, tm_sec=52, tm_wday=4, tm_yday=202, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=21, tm_hour=20, tm_min=23, tm_sec=52, tm_wday=4, tm_yday=202, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=21, tm_hour=20, tm_min=23, tm_sec=52, tm_wday=4, tm_yday=202, tm_isdst=0)
1769
原文:https://www.cnblogs.com/jujned/p/12997345.html