文件重命名2.0

#小白级别,大神勿扰import os

def input_folder_name():
    folder_name=input("请输入要重命名的文件夹:\n")
    return folder_name

def input_str_name():
    str_name=str(input("请输入字符串(可用于新增/删除):\n"))+'-'
    return str_name

def input_mofidy_str():
    mofidy_str=str(input("请输入修改后的字符串:\n"))+'-'
    return mofidy_str


def file_name_chongmingming_add_str(): #增长字符串的方法
    folder_name=input_folder_name()
    str_name=input_str_name()
    file_names=os.listdir(folder_name)
    for name in file_names:    
        old_file_name=folder_name+'/'+name
        new_file_name=folder_name+'/'+str_name+name
        os.rename(old_file_name,new_file_name)
    else:
        print("未找到查询的字符串")

def file_name_chongmingming_delete_str(): #删除增长的字符串的方法
    folder_name=input_folder_name()
    str_name=input_str_name()
    file_names=os.listdir(folder_name)
    for name in file_names:
        old_file_name=folder_name+'/'+name
        if str_name in name:
            find_str_index=name.rfind(str_name) #从文件名中查找匹配的字符串,从右往左,若是从左往右匹配出来的结果是0,取出来仍是源文件名
            if find_str_index==0: #当匹配出字符串的长度未0时,文件名为匹配出的字符长度加上查找的字符串的长度,从而获得最终的文件名
                new_file=name[find_str_index+len(str_name):]
            else:
                new_file=name[find_str_index:]    
            new_file_name=folder_name+'/'+new_file
            os.rename(old_file_name,new_file_name)
    else:
        print("未找到查询的字符串")


def file_name_chongmingming_modify_str(): #修改增长的字符串的方法
    folder_name=input_folder_name()
    str_name=input_str_name()
    mofidy_str=input_mofidy_str()
    file_names=os.listdir(folder_name)
    for name in file_names:
        old_file_name=folder_name+'/'+name 
        if str_name in name:
            find_str_index=name.rfind(str_name)
            find_str_count=name.count(str_name)
            if find_str_index==0 or find_str_count==1:
                new_file=name[:find_str_index]+mofidy_str+name[find_str_index+len(str_name):] 
                #拼接文件名,文件名前部分为匹配出来的下标到文件最前面的内容,中间内容为修改的字符串,文件名末尾为匹配下标到文件后面的内容
            else:
                new_file=mofidy_str+name[find_str_index+len(str_name):]    
                # print(name[find_str_index:])
                # print(new_file)
            new_file_name=folder_name+'/'+new_file
            os.rename(old_file_name,new_file_name)
    else:
        print("未找到查询的字符串")
if __name__=='__main__':
    for a in range(1):
        # file_name_chongmingming_add_str()
        file_name_chongmingming_delete_str()
        # file_name_chongmingming_modify_str()
相关文章
相关标签/搜索