欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python批量自動(dòng)修改文件名,按指定的格式自動(dòng)命名方式

 更新時(shí)間:2023年08月17日 08:45:58   作者:Pandas_007  
這篇文章主要介紹了Python批量自動(dòng)修改文件名,按指定的格式自動(dòng)命名方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題引入

在我們在對一個(gè)已經(jīng)排好序的項(xiàng)目進(jìn)行增刪改之后,文件名可能不再連續(xù),有所缺失,這時(shí)我們需要對所有文件進(jìn)行有序的排序,需要借助Python來進(jìn)行自動(dòng)獲取所有文件的數(shù)量然后自動(dòng)進(jìn)行排序。

例如我對某個(gè)文件進(jìn)行刪除后,圖片的命名已經(jīng)不連續(xù)了,需要對其后面的需要按順序進(jìn)行排列 。

再運(yùn)行完os庫的代碼后,文件名已經(jīng)變成連續(xù)的了。

如下圖:

OS庫的方法

  • os.listdir(path)--查看路徑下的所有文件
  • os.rename(舊文件名,新文件名)--用于更改文件名字
  • os.mkdir(path)-在path路徑下創(chuàng)建目錄
  • os.remove(path)--刪除文件
  • os.stat(path)--獲取文件信息,存儲(chǔ)的內(nèi)存大小

只通過OS來批量修改文件名

def File_name_sorting(filepath,outpath):
    import os
    alldates=os.listdir(filepath) #獲得路徑中的所有文件
    alldates.sort(key=lambda X : int(X[:-4])) #將文件名按照數(shù)字排序;X[:-4]是取.jpg前面的文件名 作用是屏蔽后綴名.jpg
    for i in range(1,len(alldates)+1):
        filepath=filepath+r'/'#讀入文件的路徑
        os.rename(filepath+str(alldates[i-1]),outpath+str(i)+'.jpg')
if __name__ == '__main__':
    filepath=r'E:\項(xiàng)目\python項(xiàng)目\爬蟲\ebird\Larus ridibundus\img2'#需要重命名的路徑
    outpath=r'E:\項(xiàng)目\python項(xiàng)目\爬蟲\ebird\Larus ridibundus\img/'#導(dǎo)出的路徑
    File_name_sorting(filepath,outpath)

通過cv2庫進(jìn)行批量修改文件名

cv.imwrite(path,file)把每一個(gè)文件取出后再通過此函數(shù),保存至新的文件名,通過在其外層添加循環(huán)以此來達(dá)到批量修改文件名的效果。

代碼如下:

def renamefile_cv(path,imgPath):
    import cv2
    import os
    file_lst = os.listdir(path)
    frame_count=0 #起始的文件名名字 后續(xù)加了1 所以這里設(shè)置為0
    for filename in file_lst:
        frame_count=frame_count+1
        frame=cv2.imread(path + filename)
        print('正在處理第'+ str(frame_count) + '張圖片')
        cv2.imwrite(imgPath + str(frame_count)+'.jpg', frame)
if __name__ == '__main__':
    path=r'E:\項(xiàng)目\python項(xiàng)目\爬蟲\ebird\Larus ridibundus\img/'
    imgPath=r'E:\項(xiàng)目\python項(xiàng)目\爬蟲\ebird\Larus ridibundus\imges/'
    renamefile_cv(path,imgPath)

常見問題:

①讀取不到圖片,路徑全部修改為英文再嘗試。

②運(yùn)行了一會(huì)后報(bào)錯(cuò),可能其文件格式不一致,即使它顯示的是jpg,這時(shí)可以自主添加try,except,跳過本文件,繼續(xù)修改下一個(gè)文件名。

下面是升級后的代碼:

def renamefile_cv(path,imgPath):
    import cv2
    import os
    file_lst = os.listdir(path)
    frame_count=0 #起始的文件名名字 后續(xù)加了1 所以這里設(shè)置為0
    for filename in file_lst:
        frame_count=frame_count+1
        try:
            frame=cv2.imread(path + filename)
            print('正在處理第'+ str(frame_count) + '張圖片')
            cv2.imwrite(imgPath + str(frame_count)+'.jpg', frame)
        except:
            print("{}存在問題".format(filename))
            pass
if __name__ == '__main__':
    path=r'E:\項(xiàng)目\python項(xiàng)目\爬蟲\ebird\Larus ridibundus\img/'
    imgPath=r'E:\項(xiàng)目\python項(xiàng)目\爬蟲\ebird\Larus ridibundus\imges/'
    renamefile_cv(path,imgPath)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 舉例講解Python編程中對線程鎖的使用

    舉例講解Python編程中對線程鎖的使用

    Python的threading模塊中提供了多種鎖的相關(guān)方法,Python的多線程不能同時(shí)執(zhí)行,因而鎖的使用非常關(guān)鍵,下面我們就來舉例講解Python編程中對線程鎖的使用:
    2016-07-07
  • Django中傳遞參數(shù)到URLconf的視圖函數(shù)中的方法

    Django中傳遞參數(shù)到URLconf的視圖函數(shù)中的方法

    這篇文章主要介紹了Django中傳遞參數(shù)到URLconf的視圖函數(shù)中的方法,Django是最具人氣的Python開發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python?ModuleNotFoundError:?No?module?named?‘xxx‘可能的解決方案大全

    Python?ModuleNotFoundError:?No?module?named?‘xxx‘可能的解決方

    本文主要介紹了Python?ModuleNotFoundError:?No?module?named?‘xxx‘可能的解決方案大全,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧Chat?Gpt<BR>
    2023-07-07
  • Python圖像增強(qiáng)imgaug詳解

    Python圖像增強(qiáng)imgaug詳解

    Imgaug 是一個(gè)開源 python 包,可讓你在機(jī)器學(xué)習(xí)實(shí)驗(yàn)中增強(qiáng)圖像,它適用于各種增強(qiáng)技術(shù),它有一個(gè)簡單而強(qiáng)大的界面,可以增強(qiáng)圖像、地標(biāo)、邊界框、熱圖和分割圖,這篇文章主要介紹了Python圖像增強(qiáng)imgaug,需要的朋友可以參考下
    2022-11-11
  • python中CURL 和python requests的相互轉(zhuǎn)換實(shí)現(xiàn)

    python中CURL 和python requests的相互轉(zhuǎn)換實(shí)現(xiàn)

    本文主要介紹了python中CURL 和python requests的相互轉(zhuǎn)換實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python+Tkinter實(shí)現(xiàn)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼

    Python+Tkinter實(shí)現(xiàn)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼

    這篇文章主要為大家詳細(xì)介紹了Python如何利用Tkinter編寫一個(gè)RGB數(shù)值轉(zhuǎn)換為16進(jìn)制碼的小工具,文中的示例代講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01
  • Python中的Decorator裝飾器的使用示例

    Python中的Decorator裝飾器的使用示例

    裝飾器(decorator)在Python框架中扮演著重要角色,是Python中實(shí)現(xiàn)切面編程(AOP)的重要手段,本文將通過簡單的示例和大家介紹下具體的使用方法,希望對大家有所幫助
    2022-12-12
  • Pandas日期處理之生成工作日與節(jié)假日

    Pandas日期處理之生成工作日與節(jié)假日

    Python中的Pandas 提供了許多日期處理功能,使得處理時(shí)間序列數(shù)據(jù)變得容易。本文將介紹如何使用 Pandas 生成工作日和節(jié)假日,感興趣的小伙伴可以收藏一下
    2023-05-05
  • 使用Python發(fā)送各種形式的郵件的方法匯總

    使用Python發(fā)送各種形式的郵件的方法匯總

    這篇文章主要介紹了使用Python發(fā)送各種形式的郵件的方法匯總,包括HTML形式的或者帶圖片以及帶附件的郵件等等,需要的朋友可以參考下
    2015-11-11
  • pycharm遠(yuǎn)程調(diào)試openstack的圖文教程

    pycharm遠(yuǎn)程調(diào)試openstack的圖文教程

    這篇文章主要為大家詳細(xì)介紹了pycharm遠(yuǎn)程調(diào)試openstack的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論