批量修改文件名(python)

背景

工作中总有各种场景,需要批量修改文件的名字,但是一个一个的该实在是太麻烦而且太费时间了,所以干脆写了个批量修改文件名的脚本。

代码

import sys
import os
import re

def rename(find, replace, local_file_path):
    file_list = os.listdir(local_file_path)
    # 得到进程当前工作目录
    current_path = os.getcwd()
    # 将当前工作目录修改为待修改文件夹的位置
    os.chdir(local_file_path)
    # 名称变量
    num = 1
    # 遍历文件夹中所有文件
    for file_name in file_list:
        # 进行匹配
        new_name = re.sub(find, replace, file_name)
        # 文件重新命名
        os.rename(file_name, new_name)
        # 改变编号,继续下一项
        num = num + 1
    print("completed!")
    # 改回程序运行前的工作目录
    os.chdir(current_path)
    # 刷新
    sys.stdin.flush()

to_find = ''
to_replace = ''
local_file_path = ''

if sys.argv[1]:
    to_find = sys.argv[1]
else:
    print('params error find!')
    quit()

length = len(sys.argv)

if length > 2 and sys.argv[2]:
    to_replace = sys.argv[2]
else:
    to_replace = ''


if length > 3 and sys.argv[3]:
    local_file_path = sys.argv[3]
else:
    local_file_path = './'


rename(find=to_find, replace=to_replace, local_file_path=local_file_path)

使用

说明: python3 rename.py [要替换的文件名部分] [替换后的名字] [需替换文件所在的文件夹地址]

ps: 也可直接cd到文件所在目录,然后运行脚本,此时参数3则忽略,参数2默认值为空

举例

0 评论
最新
最旧 最多投票
内联反馈
查看所有评论
滚动至顶部