Python新手请教:如何使用Python制作文件重命名工具?
我是个美术,目前在自学 python3,为了能程序化加快工作. 最近突发奇想要做个小软件方便工作。用 PyQt5 搭建了一个 UI 框架 关于图片或文件重命名的. 因为学的还比较初级有些功能实现上还不懂怎么深入下去,所以前来咨询老哥们。 能否推荐一些类似的开源项目可以给我借鉴学习一下
UI 框架如下: 有若干分类的都有下拉菜单,一个类型在一个栏内,每个选择好对应的选项,全部选择完,各类相加一起,输入框内可以得出命名。最终在电脑上选择好需要的一个文件,点击程序上的生成键,可以自动完成指定分类的重命名. 例如 Metal_Red_01_a
UI.py 如下 https://gist.github.com/n0tsur3/a920f3f133a5693f4e5b7aeb65e3e60f
Python新手请教:如何使用Python制作文件重命名工具?
2 回复
要做一个文件重命名工具,核心就是用 os 模块来操作文件系统。下面这个脚本可以批量给当前目录下的文件添加前缀,你改改就能用。
import os
def batch_rename(directory, prefix):
"""
给指定目录下的所有文件添加前缀
:param directory: 目标目录路径
:param prefix: 要添加的前缀
"""
# 切换到目标目录
os.chdir(directory)
# 获取目录下所有文件和文件夹列表
for filename in os.listdir('.'):
# 跳过目录,只处理文件
if os.path.isfile(filename):
# 分割文件名和扩展名
name, ext = os.path.splitext(filename)
# 构建新文件名
new_name = f"{prefix}{name}{ext}"
# 重命名文件
os.rename(filename, new_name)
print(f"重命名: {filename} -> {new_name}")
if __name__ == "__main__":
# 使用示例:给当前目录下所有文件添加"backup_"前缀
batch_rename('.', 'backup_')
关键点解析:
os.listdir('.')列出当前目录所有项目os.path.isfile()判断是否为文件(避免重命名文件夹)os.path.splitext()分离文件名和扩展名,方便单独处理os.rename()执行实际的重命名操作
扩展建议:
- 想按顺序编号?加个计数器:
new_name = f"{prefix}{i:03d}{ext}" - 想改特定类型文件?加条件判断:
if filename.endswith('.txt'): - 想交互式操作?用
input()让用户输入目录和前缀
这个基础框架够你折腾了,改改就能满足大部分重命名需求。
只是重命名的话,TotalCommand 可以了解一下

