Python&批量重命名文件、批量多層級(jí)修改文件后綴名

Python辦公自動(dòng)化集錦 http://www.itdecent.cn/nb/49019927

項(xiàng)目背景

下載尚硅谷Python資料,發(fā)現(xiàn)視頻文件名格式為:尚硅谷Python基礎(chǔ)+課節(jié)編號(hào),文件名太長(zhǎng),強(qiáng)迫癥希望簡(jiǎn)潔明了,怎么辦?對(duì)于130個(gè)文件,手動(dòng)重命名不現(xiàn)實(shí),很累!!! 想想還是Python批量操作文件比較方便!!!

原型圖

圖1.初始文件命名.jpg

代碼參考

import os
path = 'D:\\181124\\尚硅谷_Python\\02-視頻'
items = os.listdir(path)
os.chdir(path)
print(os.getcwd())
drop_str = '尚硅谷_Python基礎(chǔ)_'
for name in items:
    print(name)
    new_name = ''.join(name.split(drop_str))
    os.rename(name, new_name)
print('-----------------------分界線------------------------')
items = os.listdir(path)
for name in items:
    print(name)

運(yùn)行代碼

圖3.修改后的文件命名.jpg

場(chǎng)景:有時(shí)下載電影或者資料,文件名會(huì)自帶其他商標(biāo)或者平臺(tái)標(biāo)語(yǔ),想要批量修改,手動(dòng)修改很繁瑣!……先前分享的代碼邏輯不完善,現(xiàn)優(yōu)化一下

  • 原文件包含'【itjc8.com】'想去掉


    初始文件.jpg

優(yōu)化代碼

import os ,os.path
def rename(file,keyword):
    ''' file: 文件路徑    keyWord: 需要修改的文件中所包含的關(guān)鍵字 ''' 
    os.chdir(file)
    items = os.listdir(file)
    print(os.getcwd())
    for name in items :
        print(name)
        # 遍歷所有文件
        if not os.path.isdir(name):
            if keyword in name :
                new_name = name.replace(keyword,'')
                os.renames(name,new_name)
        else:
            rename(file + '\\' + name, keyword)
            os.chdir('...')      
    print('-----------------------分界線------------------------')
    items = os.listdir(file)
    for name in items:
        print(name) 
rename('G:\\學(xué)習(xí)資料\\1234', '_【itjc8.com】')
運(yùn)行結(jié)果.jpg

重名后文件展示

重名后文件展示.jpg

引導(dǎo)-批量修改多層目錄下文件名的后綴名

場(chǎng)景 修改文件夾1目錄下的文件后綴名,同時(shí)修改同文件夾1平級(jí)的多個(gè)文件后綴名,例如jpg、txt、Pdf、png等格式文件,全部更換成MP3格式的文件。

初始目錄展示

初始目錄展示.png

代碼參考

import os

'''將file_dir目錄下的old_type類(lèi)型的文件改成new_type類(lèi)型的文件'''
def file_rename(old_type,new_type,file_dir):
    old_files = find_file(old_type,file_dir)
    #遍歷所有文件
    for old_file in old_files:
        '''獲取文件名'''
        filename = os.path.splitext(old_file)[0] #文件名
        '''新文件名=文件名+新的后綴 拼接起來(lái)'''
        new_file = os.path.join(filename + new_type)
        '''重命名'''
        os.renames(old_file, new_file)
    # 打印出文件名 -20表示左對(duì)齊,寬度20    
    print( "%-20s ===> %20s" % (old_file, new_file))
    
'''找到某個(gè)類(lèi)型的文件'''  
def find_file(file_type,file_dir):
    file_set = []
    for root ,dirs, files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == file_type:
                file_set.append(os.path.join(root , file ))
    
    return file_set

file_dir = r"D:\文件后綴修改"
file_rename('.jpg', '.mp3', file_dir);
file_rename('.pdf', '.mp3', file_dir);
file_rename('.txt', '.mp3', file_dir);
file_rename('.png', '.mp3', file_dir);

執(zhí)行代碼 查看運(yùn)行結(jié)果

執(zhí)行代碼 查看運(yùn)行結(jié)果.png

全部成功替換成mp3格式文件.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 批量修改文件名,真是的一件很簡(jiǎn)單,但是非常繁瑣的事情。捧著一顆懶人的心,不想重復(fù)勞動(dòng),所以上網(wǎng)找了一些批量修改后綴...
    滄海無(wú)雨閱讀 28,426評(píng)論 0 6
  • 該方法適用于Windows系統(tǒng) 以修改zip1后綴為zip后綴為例進(jìn)行說(shuō)明: 新建txt文本文檔,并輸入以下內(nèi)容r...
    徐噴以煙閱讀 1,352評(píng)論 0 2
  • 有時(shí)候想要修改文件的后綴名,文件很多,一個(gè)一個(gè)修改很麻煩怎么辦?下面給大家講解win7如何批量修改文件后綴名 顯示...
    冉冉升起的小太陽(yáng)閱讀 1,448評(píng)論 0 2
  • 安卓開(kāi)發(fā)中需要圖片資源的名稱(chēng)必須是英文字母小寫(xiě),然而客戶給的圖片資源的名稱(chēng)全是大寫(xiě)字母。一共有幾千張圖片,如果一個(gè)...
    九號(hào)鍋爐閱讀 1,258評(píng)論 1 1
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開(kāi)好到教室時(shí),離放學(xué)已經(jīng)沒(méi)多少時(shí)間了。班主任說(shuō)已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,818評(píng)論 16 22

友情鏈接更多精彩內(nèi)容