Python脚本:对文件进行批量重命名

  • 字符替换:批量对文件名中指定字符进行替换
  • 添加前缀:批量向原文件名添加前缀
  • 添加后缀:批量向原文件名添加后缀
import os

def Rename_CharReplace():
    #对文件名中某字符进行替换(已完结)
    re_dir = os.getcwd()
    re_list = os.listdir(re_dir)
    original_char = input('请输入你要替换的字符:')
    replace_char = input('请输入替换内容:')
    num = 0
    for old_name in re_list:
        split = os.path.splitext(old_name)
        if not split[1] == '.py':
            if old_name.find(original_char) >= 0:
                new_name = old_name.replace(original_char, replace_char)
                if not os.rename(old_name, new_name):
                    print('文件%s已成功重命名为%s\n' % (old_name, new_name))
                    num += 1
                else:
                    print('警告:文件%s未能成功重命名\n' % old_name)           
    print('\n共成功重命名%d个文件' % num)
    print('-----------------------------------------------')

def Rename_AddPrefix():
    #向文件名中添加前缀(已完结)
    re_dir = os.getcwd()
    re_list = os.listdir(re_dir)
    add_prefix = input('请输入您要添加的前缀:')
    num = 0
    for old_name in re_list:
        split = os.path.splitext(old_name)
        if not split[1] == '.py':
            new_name = add_prefix + old_name
            if not os.rename(old_name, new_name):
                print('文件%s已成功重命名为%s\n' % (old_name, new_name))
                num += 1
            else:
                print('警告:文件%s未能成功重命名\n' % old_name)
    print('\n已成功重命名%d个文件' % num)
    print('-----------------------------------------------')

def Rename_AddSuffix():
    #向文件中添加后缀(已完结)
    re_dir = os.getcwd()
    re_list = os.listdir(re_dir)
    add_suffix = input('请输入您要添加的后缀:')
    num = 0
    for old_name in re_list:
        split = os.path.splitext(old_name)
        if not split[1] == '.py':
            new_name = split[0] + add_suffix + split[1]
            if not os.rename(old_name, new_name):
                print('文件%s已成功重命名为%s\n' % (old_name, new_name))
                num += 1
            else:
                print('警告:文件%s未能成功重命名\n' % old_name)
    print('\n共成功重命名%d个文件' % num)
    print('-----------------------------------------------')

#主程序
print('-----------------------------------------------')
print('欢迎使用unstring文件批量重命名工具')
print('QQ:29474854')
print('本程序可实现三种方式的重命名:①替换文件名中的指定字符')
print('                         ②为文件添加指定前缀')
print('                         ③为文件添加指定后缀')
print('-----------------------------------------------')

while True:
    choice = input('请选择你的命名方式(数字1,2,3即可,q退出):')
    if choice == '1':
        Rename_CharReplace()
    elif choice == '2':
        Rename_AddPrefix()
    elif choice == '3':
        Rename_AddSuffix()
    elif choice == 'q':
        break
    else:
        print('请选择正确的命名方式:')

以上就是该脚本代码,该脚本是使用Python3.x版本写的,对其中使用的模块以及函数进行简单的解释:

  • os.getcwd()是获取该脚本所在文件夹路径;
  • os.listdir(“path”)是将路径“path”目录下所有文件以及子目录列出来并返回列表;
  • os.path.splitext(“filepath”)是将文件路径及文件名和文件后缀进行分割并返回列表,其中1号元素- 为文件后缀。
  • replace(old,new)将new字符串与old字符串进行替换
  • os.rename()对文件进行重命名

需要的函数什么的基本上介绍完了,其实只要了解了这几个函数再加上一点Pyhon的语法基础就可以写出这个脚本了,技术含量略低。

http://www.2liang.me/archives/18

你可能感兴趣的:(Python)