如何用Python读取目录文件名并按时间戳输出,获取最新创建子文件夹名
实现最新文件夹识别与文件名+时间戳输出的Python脚本
先帮你梳理下现有代码的问题:你原代码里的路径"D:\Test1"存在转义字符风险,而且判断条件是找.txt文件,但你实际要找的是子文件夹,这两个点需要先调整。下面分两部分实现你的需求:
一、打印最新创建的子文件夹名称
这个需求的核心是筛选文件夹、获取创建时间并排序。以下是完整的可运行代码:
import os # 目标文件夹路径,用原始字符串r""避免转义问题,注意替换成你实际的D:\Test target_dir = r"D:\Test" # 存储每个子文件夹的创建时间和名称 folder_list = [] for item_name in os.listdir(target_dir): item_path = os.path.join(target_dir, item_name) # 只处理子文件夹 if os.path.isdir(item_path): # 获取文件夹的创建时间(Windows系统下getctime是创建时间,Linux下是属性修改时间) create_timestamp = os.path.getctime(item_path) folder_list.append((create_timestamp, item_name)) # 按创建时间倒序排序,取第一个就是最新的文件夹 if folder_list: folder_list.sort(reverse=True) latest_folder = folder_list[0][1] print(f"最新创建的子文件夹是:{latest_folder}") else: print("目标目录下没有子文件夹")
关键说明:
- 路径处理:用原始字符串
r"D:\Test"或者双反斜杠"D:\\Test",避免Python把\T解析成转义字符 - 文件夹筛选:通过
os.path.isdir()判断当前项是否为文件夹,替代你原代码的.txt判断 - 时间排序:把时间戳和文件夹名存在元组中,排序时会优先按时间戳比较,倒序后第一个就是最新创建的文件夹
二、读取目录中的文件名并结合时间戳输出
如果你需要同时列出目录下所有文件/文件夹,并显示它们的时间戳(转成易读格式),可以结合datetime模块实现:
import os from datetime import datetime target_dir = r"D:\Test" for item_name in os.listdir(target_dir): item_path = os.path.join(target_dir, item_name) # 获取创建时间戳 create_timestamp = os.path.getctime(item_path) # 把时间戳转成YYYY-MM-DD HH:MM:SS的可读格式 readable_time = datetime.fromtimestamp(create_timestamp).strftime("%Y-%m-%d %H:%M:%S") # 区分文件和文件夹输出 if os.path.isdir(item_path): print(f"[文件夹] {item_name} | 创建时间:{readable_time}") else: print(f"[文件] {item_name} | 创建时间:{readable_time}")
额外优化:
如果你想按修改时间而不是创建时间排序/显示,可以把os.path.getctime()换成os.path.getmtime(),后者获取的是文件最后修改的时间。
内容的提问来源于stack exchange,提问作者Sidharth Gokul
相关产品推荐
相关产品推荐

