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'

你可能感兴趣的:(python库,python基础)