python 查看、修改文件属性
In [132]:import os
# 查看文件属性
In [133]: os.stat('package-lock.JSON')
Out[133]: os.stat_result(st_mode=33206, st_ino=7036874417947173, st_dev=651824810, st_nlink=1, st_uid=0, st_gid=0, st_size=304, st_atime=1523547919, st_mtime=1523547919, st_ctime=1523547919)
- st_mode: inode 保护模式
- st_ino: inode 节点号。
- st_dev: inode 驻留的设备。
- st_nlink: inode 的链接数。
- st_uid: 所有者的用户ID。
- st_gid: 所有者的组ID。
- st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
- st_atime: 上次访问的时间。
- st_mtime: 最后一次修改的时间。
- st_ctime: 由操作系统报告的”ctime”。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如windows)是创建时间(详细信息参见平台的文档)。
Help on built-in function utime in module posix:
utime(...)
utime(path, (atime, mtime))
utime(path, None)
Set the access and modified time of the file to the given values. If the
second fORM is used, set the access and modified times to the current time.
In [141]: !touch test.txt
In [143]: os.stat('test.txt')
Out[143]: os.stat_result(st_mode=33206, st_ino=14355223812719680, st_dev=651824810, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1532879422, st_mtime=1532879422, st_ctime=1532879404)
In [146]: test_stat = os.stat('test.txt')
In [147]: test_stat.st_mtime
Out[147]: 1532879422.2283707
# 查看文件的修改时间
In [149]: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(test_stat.st_mtime))
Out[149]: '2018-07-29 23:50:22'
# 查看文件的上次访问时间
In [150]: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(test_stat.st_atime))
Out[150]: '2018-07-29 23:50:22'
# 设置新的修改时间,并转为时间戳
In [153]: test_new_mtime = time.mktime(time.strptime('2017-07-29 23:50:22', '%Y-%m-%d %H:%
...: M:%S'))
# 设置新的上次访问时间,并转为时间戳
In [154]: test_new_atime = time.mktime(time.strptime('2016-07-30 23:50:22', '%Y-%m-%d %H:%
...: M:%S'))
# 修改上次访问时间、修改时间
In [155]: os.utime('test.txt', (test_new_atime, test_new_mtime))
# 获取修改后的文件属性
In [156]: new_test_stat = os.stat('test.txt')
# 查看修改后的修改时间
In [160]: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(new_test_stat.st_mtime))
Out[160]: '2017-07-29 23:50:22'
# 查看修改后的上次访问时间
In [161]: time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(new_test_stat.st_atime))
Out[161]: '2016-07-30 23:50:22'
相关文章