Python3获取不同目录下文件名及创建日期问题求助
问题解决:获取文件创建日期错误的修正
你的代码核心问题是始终读取根目录的创建时间,而非当前遍历到的目标文件的创建时间:os.path.getctime(pt)中的pt是你指定的根路径,导致所有文件输出的都是同一个日期。
修正后的代码
import os, pandas as pd, datetime l = [] pt = r"C:\Users\ndofi.vontade\OneDrive - Jupiter Desenvolvimento Informatico LTDA\Documentos\Jupiter\BI" count = 0 for dirpath, dirname, filename in os.walk(pt): for file in filename: count += 1 # 拼接当前文件的完整绝对路径 full_file_path = os.path.join(dirpath, file) # 获取当前文件的创建时间 date_mod = os.path.getctime(full_file_path) dt_m = datetime.datetime.fromtimestamp(date_mod) l.append((full_file_path, dt_m)) print(count, file, dt_m)
关键修改说明
- 用
os.path.join(dirpath, file)拼接每个文件的完整路径,确保指向当前遍历的目标文件 - 将
os.path.getctime(pt)替换为os.path.getctime(full_file_path),读取对应文件的创建时间
补充:os.path.getctime()在Windows下返回文件创建时间,但在Unix/Linux系统中返回的是文件元数据最后修改时间。如果需要跨平台获取创建时间,可尝试pathlib模块的stat().st_birthtime(仅支持部分系统)。
内容的提问来源于stack exchange,提问作者Ndofi Vontade
相关产品推荐
相关产品推荐

