python-3.x 如何在文件夹中找到某个日期的第一个(当天最早的时间戳)文件?

ckocjqey  于 2023-05-02  发布在  Python
关注(0)|答案(1)|浏览(114)

我有一个搜索特定文件夹的函数,查找使用特定前缀创建的文件的最新日期,并返回当天写入的第一个(最早)文件。

import os

def find_earliest_file(prefix, folder):
    """
    Searches the specified folder for files with the specified prefix, and returns the earliest file (by timestamp) 
    for the newest date.
    """
    newest_date = None
    earliest_file = None
    
    for file in os.listdir(folder):
        if file.startswith(prefix):
            timestamp = os.path.getctime(os.path.join(folder, file))
            file_date = timestamp.date()
            
            if newest_date is None or file_date > newest_date:
                newest_date = file_date
                earliest_file = file
            elif file_date == newest_date and timestamp < os.path.getctime(os.path.join(folder, earliest_file)):
                earliest_file = file
    
    return earliest_file

然而,我得到了以下错误,我不明白为什么。..
属性错误:“float”对象没有属性“date”。单元格[48],第12行,最新文件文件日期= www.example.com ()
file_date如何成为float?
有线索吗?

2ledvvac

2ledvvac1#

Python文档:
返回值是一个数字,给出了自epoch以来的秒数(参见time模块)。
按照建议使用time模块对其进行操作。您可以使用gmtimelocaltime分别转换为UTC和本地时间。

import time

time.gmtime(os.path.getctime(os.path.join(folder, file)))
# or
time.localtime(os.path.getctime(os.path.join(folder, file)))

相关问题