使用 Python 批量处理文件,以重命名为例
一、说明
对经常遇到加有各种后缀的文件名进行批量处理。
二、源码
'''
Created on 2018年10月21日
@author: 欧阳
'''
import os
def BatchReName(path, oldStr, newStr):
"""
@note: 批量重命名
@param path: 重名名的文件所在的文件夹
@param oldStr: 文件名中需要去除的子字符串
@param newStr: 文件名中去除的子字符串的替换子字符串
@author: 欧阳
"""
# 打开文件夹
dirs = os.listdir(path)
# 输出所有文件和文件夹
for file in dirs:
# 获取文件的路径
filePath = os.path.join(path, file)
# 判断是否是文件夹,是则跳过
if os.path.isdir(filePath):
continue
print("文件:" + file + "正在重命名...")
# 对文件名进行分割
fileSome = os.path.splitext(file)
oldFileName = fileSome[0]
fileType = fileSome[1]
# 对文件进行标顺序
# newFileName = num + "." + oldFileName
# 新文件名 批量处理文件名中各种统一的后缀
newFileName = oldFileName.replace(oldStr, newStr)
# 重命名
src = os.path.join(path, file)
dst = os.path.join(path, newFileName + fileType)
os.rename(src, dst)
print("文件:" + file + "重命名为:" + newFileName + fileType)
if __name__ == '__main__':
try:
# 键盘输入文件夹
path = input("请输入需重名名的文件所在的文件夹:");
# 判断是否是文件夹,不是就需要重新输入
while(not os.path.isdir(path)):
# 重新从键盘输入一个文件夹
path = input("请重新输入文件夹:");
BatchReName(path, "", "")
except:
print("输入的文件夹有误!")