簡體   English   中英

Python查找最近創建的文件

[英]Python find most recent created file

我正在嘗試在目錄中查找最近創建的文件的名稱:

    try:
        #print "creating path"
        os.makedirs(self.path)
        self.dictName = "0"
    except OSError as exception:
        if exception.errno != errno.EEXIST:
            raise
        listOfFiles = os.listdir(self.path)
        listOfFiles = filter(lambda x: not os.path.isdir(x), listOfFiles)
        print "creating newestDict"
        newestDict = max(listOfFiles, key=lambda x: os.stat(x).st_mtime) ------<
        print "setting self.name"

箭頭指向代碼導致程序崩潰的位置。 打印listOfFiles返回一個非空列表。 這是使用具有自己的解釋器的第三方python程序。 有什么想法我做錯了嗎? 謝謝!

您可以使用os.path.isfile()函數和理解列表來闡明列出文件的過程,但這取決於您。 如果查看注釋中的相關鏈接,將看到os.path.getctime() 函數 ,該函數可讓您獲取Windows系統中文件的創建時間以及類似Unix的上次修改時間系統(例如stat()系統調用st_mtime屬性):

from os import listdir
from os.path import isfile, join, getctime

listOfFiles = [f for f in listdir(self.path) if isfile(join(self.path,f))]
newestDict = max(listOfFiles, key=lambda x: os.path.getctime(x))

但是到目前為止,您的代碼看起來正確。 如果您提供解釋器拋出的錯誤或完整的代碼,也許我們會更有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM