用python實現批量重命名文件的代碼
更新時間:2012年05月25日 23:15:25 作者:
任務很簡單,某個目錄下面有幾千個文件,某些文件沒有后綴名,現在的任務就是將所有的沒有后綴名的文件加上后綴名,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指定的目錄,如果是文件(不是文件夾)并且文件名中不存在 ‘.' ,也就是沒有后綴名,就把這個文件加上后綴名,然后重命名
有些細節(jié)需要注意:
1.如果path指定的文件夾不是這個程序的所在的目錄,rename函數里面的路徑就必須是絕對路徑,否則就會報‘WindowsError: [Error 2]'錯誤
2.重命名時如果新文件名已經存在,就會報‘WindowsError: [Error 183]' 錯誤,所以,新文件名最好加上一些隨機字符串
3.如果改文件名或者后綴名可以用split() 函數進行分割
4.find函數如果找不到指定的字符串的話就會返回 ‘-1'
博主ma6174
復制代碼 代碼如下:
# -*- 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指定的目錄,如果是文件(不是文件夾)并且文件名中不存在 ‘.' ,也就是沒有后綴名,就把這個文件加上后綴名,然后重命名
有些細節(jié)需要注意:
1.如果path指定的文件夾不是這個程序的所在的目錄,rename函數里面的路徑就必須是絕對路徑,否則就會報‘WindowsError: [Error 2]'錯誤
2.重命名時如果新文件名已經存在,就會報‘WindowsError: [Error 183]' 錯誤,所以,新文件名最好加上一些隨機字符串
3.如果改文件名或者后綴名可以用split() 函數進行分割
4.find函數如果找不到指定的字符串的話就會返回 ‘-1'
博主ma6174
相關文章
Python通過模塊化開發(fā)優(yōu)化代碼的技巧分享
模塊化開發(fā)就是把代碼拆成一個個“零件”,該封裝封裝,該拆分拆分,下面小編就來和大家簡單聊聊python如何用模塊化開發(fā)進行代碼優(yōu)化吧2025-04-04
python生成tensorflow輸入輸出的圖像格式的方法
本篇文章主要介紹了python生成tensorflow輸入輸出的圖像格式的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
python中找出numpy array數組的最值及其索引方法
下面小編就為大家分享一篇python中找出numpy array數組的最值及其索引方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

