一、背景
下载的图片太多了,命名都很乱,但windows批量重命名很不友好,于是在网上查找了相关方法,这里可以去看这篇文章【两种方法实现Windows系统下批量重命名文件】,但个人觉得有点麻烦,这时我想到了Python。
Python 可以用来编写脚本自动化重复性任务,如文件处理、数据抓取、系统管理等。其易读的语法使其特别适合快速开发脚本。
二、准备
温馨提示:使用自带的IDE也可以,非必须使用pycharm。
三、代码
加前缀
import os
def rename_file(target_directory, file_prefix):
# 遍历文件夹中的文件
files = os.listdir(target_directory)
files.sort() # 按字母顺序排序文件
# 重命名文件
for i, file in enumerate(files, start=1):
if file.endswith('.jpg') or file.endswith('.png'):
old_path = os.path.join(target_directory, file)
new_filename = f'{file_prefix}{str(i).zfill(3)}{os.path.splitext(file)[1]}'
new_path = os.path.join(target_directory, new_filename)
os.rename(old_path, new_path)
print(f'已重命名: {file} -> {new_filename}')
else:
print(f'跳过非图片文件: {file}')
directory_path = (r'D:\Downloads\picture')
prefix = '测试'
rename_file(directory_path, prefix)
不加前缀
import os
def rename_file(target_directory):
# 获取目录下所有文件
files = os.listdir(target_directory)
# 过滤出所有图片文件
image_files = [file for file in files if file.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp'))]
# 按照数字升序重命名图片文件
for i, file in enumerate(sorted(image_files), 1):
# 构造新文件名
_, ext = os.path.splitext(file)
new_name = f"{i:03d}{ext}"
# 重命名文件
os.rename(os.path.join(target_directory, file), os.path.join(target_directory, new_name))
print("图片文件已按照数字升序重命名。")
# 指定要重命名的目录
directory_path = (r'D:\Downloads\picture')
# 调用函数进行重命名
rename_file(directory_path)
评论区