如何在不更改扩展名的前提下重命名Python+Selenium下载的CSV文件
解决Python中重命名CSV文件的问题
嘿,我来帮你搞定这个重命名需求!既然已经用Selenium下载好了ABC.csv,要把它改成DEF.csv且保留扩展名,用Python自带的模块就能轻松实现,不需要额外安装依赖。下面给你两种实用的方法:
方法1:使用os模块(传统方式)
os模块是Python处理文件系统的基础模块,os.rename()方法可以直接完成文件重命名操作。记得要指定文件的完整路径,不然程序可能找不到文件哦。
import os # 替换成你的文件实际存储路径(Windows/Mac/Linux路径格式不同) original_file = "/Users/YourName/Downloads/ABC.csv" # Mac/Linux示例 # original_file = "C:\\Users\\YourName\\Downloads\\ABC.csv" # Windows示例(注意双反斜杠) new_file = "/Users/YourName/Downloads/DEF.csv" try: os.rename(original_file, new_file) print("✅ 文件重命名成功!") except FileNotFoundError: print("❌ 错误:找不到原文件,请检查路径是否正确!") except PermissionError: print("❌ 错误:没有权限修改文件,可能文件正在被其他程序占用!")
方法2:使用pathlib模块(现代推荐方式)
pathlib是Python 3.4+引入的面向对象路径处理模块,代码更简洁易读,而且with_name()方法会自动保留原文件的扩展名,完美契合你的需求:
from pathlib import Path # 替换成你的文件实际路径 file_path = Path("/Users/YourName/Downloads/ABC.csv") if file_path.exists(): # 生成新文件路径,仅替换文件名部分,保留扩展名 new_file_path = file_path.with_name("DEF.csv") file_path.rename(new_file_path) print("✅ 文件重命名成功!") else: print("❌ 错误:原文件不存在,请检查路径!")
小技巧:下载时直接指定文件名(可选)
如果以后你想直接用Selenium下载成DEF.csv,可以在配置浏览器选项时设置下载文件名,以Chrome为例:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 设置下载目录与自动重命名相关配置 chrome_options.add_experimental_option("prefs", { "download.default_directory": "/Users/YourName/Downloads", "download.prompt_for_download": False, "download.directory_upgrade": True, "profile.default_content_setting_values.automatic_downloads": 1 }) driver = webdriver.Chrome(options=chrome_options) # 后续执行下载操作即可直接得到DEF.csv
内容的提问来源于stack exchange,提问作者Shashi Shankar Singh
相关产品推荐
相关产品推荐

