第十四天 第十章 文件高级操作
import os fileinfo = os.stat('D:\常用软件\cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso') print('文件完整路径:',os.path.abspath('D:\常用软件\cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso')) print('st_dev 设备名称 ',fileinfo.st_dev) # print('st_gen ',fileinfo.st_gen) print('st_gid 组ID ',fileinfo.st_gid) print('st_ino 索引号 ',fileinfo.st_ino) print('st_uid 用户ID ',fileinfo.st_uid) print('st_atime 最后一次访问时间 ',fileinfo.st_atime) print('st_atime_ns ',fileinfo.st_atime_ns) # print('st_birthtime ',fileinfo.st_birthtime) # print('st_blksize ',fileinfo.st_blksize) # print('st_blocks ',fileinfo.st_blocks) # print('st_creator ',fileinfo.st_creator) print('st_ctime 最后一次状态变化时间 ',fileinfo.st_ctime) print('st_ctime_ns ',fileinfo.st_ctime_ns) print('st_file_attributes ',fileinfo.st_file_attributes) # print('st_flags ',fileinfo.st_flags) print('st_mode 保护模式 ',fileinfo.st_mode) print('st_mtime 最后一次修改时间 ',fileinfo.st_mtime) print('st_mtime_ns',fileinfo.st_mtime_ns) print('st_nlink 硬链接号(被连接数目) ',fileinfo.st_nlink) # print('st_type ',fileinfo.st_type) print('st_size 文件大小 ',fileinfo.st_size) # print('st_rsize ',fileinfo.st_rsize) print('st_reparse_tag ',fileinfo.st_reparse_tag) # print('st_rdev ',fileinfo.st_rdev) # print('st_blksize',fileinfo.st_blksize) def formatTime(longtime): import time return time.strftime('%Y-%m-%d %H-%M-%S',time.localtime(longtime)) def formatByte(number): for(scale,label) in [(1024*4024,'GB'),(1024*1024,'MB'),(1024,'KB')]: if number>=scale: return '%.2f %s'%(number*1.0/scale,label) elif number==1: return '1 字节' else: byte = '%.2f'%(number or 0) return (byte[:-3] if byte.endswith('.00') else byte)+' 字节' if __name__ == '__main__': fileinfo = os.stat('demo.jpg') print('完整路径:',os.path.abspath('demo.jpg')) print('索引号:',fileinfo.st_ino) print('设备名:',fileinfo.st_dev) print('文件大小:',formatByte(fileinfo.st_size)) print('最后一次访问时间:',formatTime(fileinfo.st_atime)) print('最后一次修改时间:',formatTime(fileinfo.st_mtime)) print('最后一次状态变化时间:',formatTime(fileinfo.st_ctime))