如何自动识别下载目录中特定命名规则的最新文件?
自动获取下载文件夹中最新年份文件的基础操作
1. 先做准备
- 装个Python,官网下最新版就行,新手不用纠结版本
- 不用额外装别的工具,Python自带的模块就够干活
2. 一步步写代码
2.1 先导入需要的工具模块
import os
2.2 告诉代码下载文件夹在哪
不同系统的路径不一样,照着改:
- Windows:
downloads_path = "C:/Users/你的用户名/Downloads"(把“你的用户名”换成你自己的,比如“张三”就写“张三”) - Mac/Linux:
downloads_path = "/Users/你的用户名/Downloads"
2.3 找出所有符合命名规则的文件
# 用来存找到的文件和对应的年份 file_year_list = [] # 挨个扫下载文件夹里的东西 for filename in os.listdir(downloads_path): # 先看文件名是不是以"new_file_"开头的 if filename.startswith("new_file_"): # 把年份从文件名里抠出来,比如"new_file_2024"拆完最后一段就是"2024" year_str = filename.split("_")[-1] # 确认是数字年份,避免碰到类似名字的杂文件 if year_str.isdigit(): year = int(year_str) # 把完整的文件路径和年份存起来 full_path = os.path.join(downloads_path, filename) file_year_list.append( (year, full_path) )
2.4 挑出最新的那个文件
# 如果找到了符合条件的文件 if file_year_list: # 按年份从大到小排,第一个就是最新的 file_year_list.sort(reverse=True) latest_year, latest_file_path = file_year_list[0] print(f"找到最新文件:{latest_file_path}") else: print("下载文件夹里没找到new_file_YYYY格式的文件哦")
2.5 读取文件里的数据
假设你要读的是文本类文件(比如csv、txt),用下面的代码就行:
if file_year_list: with open(latest_file_path, 'r', encoding='utf-8') as f: # 把文件内容全读出来 data = f.read() # 可以先打印前500个字符看看内容对不对 print("文件内容预览:") print(data[:500])
3. 怎么用
- 把代码里的
你的用户名换成自己的系统用户名 - 每年新增了new_file_XXXX文件后,直接运行代码就行,不用改任何地方,它会自动找到最新的那个
内容的提问来源于stack exchange,提问作者Dizzie_P
相关产品推荐
相关产品推荐

