使用python编写检查同一路径不同文件夹下指定文件的生成时间顺序并输出最新的文件生成时间
时间: 2024-10-20 19:09:16 浏览: 32
在Python中,你可以使用`os`模块来遍历文件夹,`datetime`模块来处理日期和时间,以及`pathlib`模块来进行路径操作。下面是一个简单的示例,展示如何按生成时间对指定文件夹下的文件进行排序,并找到最新生成的文件:
```python
import os
from datetime import datetime
def get_newest_file(directory, file_name_pattern):
# 获取目录下的所有文件
files = [f for f in os.listdir(directory) if f.startswith(file_name_pattern)]
if not files:
print(f"No files found with pattern '{file_name_pattern}' in directory {directory}.")
return None
# 通过文件名推断时间,这里假设文件名格式是 'YYYY-MM-DD_HH-MM-SS.ext'
def parse_time_from_filename(file):
try:
timestamp_str = file.split('_')[-1].split('.')[0]
return datetime.strptime(timestamp_str, '%Y-%m-%d_%H-%M-%S')
except ValueError:
print(f"Failed to parse time from filename: {file}")
return None
# 解析并按照时间排序
sorted_files = sorted(files, key=lambda f: parse_time_from_filename(f), reverse=True)
# 返回最新文件的名称
newest_file = sorted_files[0] if sorted_files else None
return newest_file, parse_time_from_filename(newest_file)
# 调用函数,替换'directory_path'为你实际的文件夹路径,'file_name_pattern'是你想查找的文件前缀
newest_file, newest_file_timestamp = get_newest_file('directory_path', 'your_file_prefix_')
if newest_file is not None:
print(f"The newest file is '{newest_file}' with a creation time of: {newest_file_timestamp}")
阅读全文