How to get file creation & modification date/times in Python?

前端 未结 13 1987
抹茶落季
抹茶落季 2020-11-21 11:44

I have a script that needs to do some stuff based on file creation & modification dates but has to run on Linux & Windows.

13条回答
  •  不思量自难忘°
    2020-11-21 11:59

    In Python 3.4 and above, you can use the object oriented pathlib module interface which includes wrappers for much of the os module. Here is an example of getting the file stats.

    >>> import pathlib
    >>> fname = pathlib.Path('test.py')
    >>> assert fname.exists(), f'No such file: {fname}'  # check that the file exists
    >>> print(fname.stat())
    os.stat_result(st_mode=33206, st_ino=5066549581564298, st_dev=573948050, st_nlink=1, st_uid=0, st_gid=0, st_size=413, st_atime=1523480272, st_mtime=1539787740, st_ctime=1523480272)
    

    For more information about what os.stat_result contains, refer to the documentation. For the modification time you want fname.stat().st_mtime:

    >>> import datetime
    >>> mtime = datetime.datetime.fromtimestamp(fname.stat().st_mtime)
    >>> print(mtime)
    datetime.datetime(2018, 10, 17, 10, 49, 0, 249980)
    

    If you want the creation time on Windows, or the most recent metadata change on Unix, you would use fname.stat().st_ctime:

    >>> ctime = datetime.datetime.fromtimestamp(fname.stat().st_ctime)
    >>> print(ctime)
    datetime.datetime(2018, 4, 11, 16, 57, 52, 151953)
    

    This article has more helpful info and examples for the pathlib module.

提交回复
热议问题