按日期排序文件

nil*_*ils 8 python sorting list

我在网上找到了这个目录检查代码并对其进行了一些修改,因此它会打印出添加的文件.有一个浮标每次都会向我发送读数,但有时连接会丢失,而不是一个文件,它会发送多个文件.我需要程序按创建日期为我排序.有没有办法做到这一点?

import os, time
path_to_watch = 'c://Users//seplema//Documents//arvuti'
before = dict([(f, None) for f in os.listdir (path_to_watch)])
while 1:
    after = dict([(f, None) for f in os.listdir (path_to_watch)])
    added = [f for f in after if not f in before]
    if before == after:
        1==1
    else:
        if len(added)==1:
            print added[0]
        else:
            for i in range (0,len(added)):
                print added[i]
    time.sleep(10)
    before = after
Run Code Online (Sandbox Code Playgroud)

agf*_*agf 26

added.sort(key=lambda x: os.stat(os.path.join(path_to_watch, x)).st_mtime)
Run Code Online (Sandbox Code Playgroud)

将按added文件的上次修改时间对列表进行排序

在Windows上使用st_ctimeinstaed st_mtimefor创建时间(这并不意味着在其他平台上).

  • 或者只是`added.sort(key = os.path.getmtime)` (5认同)