您好,登錄后才能下訂單哦!
這篇文章主要講解了python如何實現按順序重命名文件并分類轉移到各個文件夾中,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
系統
ubuntu20.04
工具
python
要求
文件夾中有22個子文件夾,每個子文件又包含56個文件,要求將每個子文件夾中的第一個文件放到一個新文件夾中,第二個放一個新的中,一直到最后。
解決方案
1.復制源文件
import os import shutil #源文件路徑 source_path='......' #復制的新文件的路徑 copy_source_path='.....' #直接復制過去的話,經常會提示文件存在,所以加個判斷語句 #判斷路徑是否存在源文件,如果有則刪除 if os.path.exists(copy_source_path): shutil.rmtree(copy_source_path) #復制文件過去 shutil.copytree(source_path,copy_source_path)
保留源文件可以增加自己操作的容錯性,并可以檢查自己操作是否滿足要求,當然也可以直接復制粘貼源文件
2.創建新文件夾
def creat(files): #創建名稱為1~56的新文件夾 for i in range(1,57): #判斷路徑是否存在同名文件夾,如果沒有則創建 if not os.path.exists(files +'/' +str(i)): os.makedirs(files +'/' +str(i)) #輸入路徑 creat('......')
3.按順序命名并轉移到新文件中
#上面新文件夾所在路徑 target_path='.......' #總文件夾路徑 for file in os.listdir(copy_source_path): j=1 #拼接出文件完整路徑 source_path_1=os.path.join(copy_source_path,file) source_list=os.listdir(source_path_1) #對獲取的文件名排序,否則是亂序修改 source_list_1=sorted(source_list) #子文件夾路徑 for file_1 in source_list_1: #源文件地址,這里的源文件我用的是復制的文件 oldname_path=os.path.join(source_path_1,file_1) #新文件夾路徑 for file_2 in os.listdir(target_path): if str(j)==file_2: target_path_1=os.path.join(target_path,file_2) #新文件路徑以及新名稱,這里新名稱我是用的子文件名+文件序號+文件原來名稱,而上面的判斷語句就是判斷文件序號與新文件夾名稱是否相同 newname_path=os.path.join(target_path_1,file +'-'+str(j)+'-'+file_1) #renamen指令不僅能重新命名而且不保留源文件以達到轉移的目的 os.rename(oldname_path,newname_path) #要對每個子文件夾中的文件順序命名,注意j所在的循環,不要放錯 j+=1
看完上述內容,是不是對python如何實現按順序重命名文件并分類轉移到各個文件夾中有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。