[英]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.