批量重命名文件——python實現


任務很簡單,某個目錄下面有幾千個文件,某些文件沒有后綴名,現在的任務就是將所有的沒有后綴名的文件加上后綴名,python有現成的函數可以實現,但是在實現過程中遇到幾個問題,分享一下解決方法

下面是最終代碼 (windows下實現的)

#  -*- coding: cp936 -*-
import os
path =  'D :\\圖片\\ '
for file  in os.listdir(path):
     if os.path.isfile(os.path.join(path,file))==True:
         if file.find( ' . ')<0:
            newname=file+ ' rsfdjndk.jpg '
            os.rename(os.path.join(path,file),os.path.join(path,newname))
             print file, ' ok '

#        print file.split('.')[-1] 

 實現的方法是:首先遍歷path指定的目錄,如果是文件(不是文件夾)並且文件名中不存在 ‘.’ ,也就是沒有后綴名,就把這個文件加上后綴名,然后重命名

有些細節需要注意:

1.如果path指定的文件夾不是這個程序的所在的目錄,rename函數里面的路徑就必須是絕對路徑,否則就會報‘WindowsError: [Error 2]’錯誤

2.重命名時如果新文件名已經存在,就會報‘WindowsError: [Error 183]’ 錯誤,所以,新文件名最好加上一些隨機字符串

3.如果改文件名或者后綴名可以用split() 函數進行分割

4.find函數如果找不到指定的字符串的話就會返回 ‘-1’ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM