用python實(shí)現(xiàn)批量重命名文件的代碼
更新時(shí)間:2012年05月25日 23:15:25 作者:
任務(wù)很簡(jiǎn)單,某個(gè)目錄下面有幾千個(gè)文件,某些文件沒有后綴名,現(xiàn)在的任務(wù)就是將所有的沒有后綴名的文件加上后綴名,python有現(xiàn)成的函數(shù)可以實(shí)現(xiàn),但是在實(shí)現(xiàn)過程中遇到幾個(gè)問題,分享一下解決方法
下面是最終代碼 (windows下實(shí)現(xiàn)的)
# -*- 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]
實(shí)現(xiàn)的方法是:首先遍歷path指定的目錄,如果是文件(不是文件夾)并且文件名中不存在 ‘.' ,也就是沒有后綴名,就把這個(gè)文件加上后綴名,然后重命名
有些細(xì)節(jié)需要注意:
1.如果path指定的文件夾不是這個(gè)程序的所在的目錄,rename函數(shù)里面的路徑就必須是絕對(duì)路徑,否則就會(huì)報(bào)‘WindowsError: [Error 2]'錯(cuò)誤
2.重命名時(shí)如果新文件名已經(jīng)存在,就會(huì)報(bào)‘WindowsError: [Error 183]' 錯(cuò)誤,所以,新文件名最好加上一些隨機(jī)字符串
3.如果改文件名或者后綴名可以用split() 函數(shù)進(jìn)行分割
4.find函數(shù)如果找不到指定的字符串的話就會(huì)返回 ‘-1'
博主ma6174
復(fù)制代碼 代碼如下:
# -*- 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]
實(shí)現(xiàn)的方法是:首先遍歷path指定的目錄,如果是文件(不是文件夾)并且文件名中不存在 ‘.' ,也就是沒有后綴名,就把這個(gè)文件加上后綴名,然后重命名
有些細(xì)節(jié)需要注意:
1.如果path指定的文件夾不是這個(gè)程序的所在的目錄,rename函數(shù)里面的路徑就必須是絕對(duì)路徑,否則就會(huì)報(bào)‘WindowsError: [Error 2]'錯(cuò)誤
2.重命名時(shí)如果新文件名已經(jīng)存在,就會(huì)報(bào)‘WindowsError: [Error 183]' 錯(cuò)誤,所以,新文件名最好加上一些隨機(jī)字符串
3.如果改文件名或者后綴名可以用split() 函數(shù)進(jìn)行分割
4.find函數(shù)如果找不到指定的字符串的話就會(huì)返回 ‘-1'
博主ma6174
相關(guān)文章
PyCharm使用教程之搭建Python開發(fā)環(huán)境
由于python的跨平臺(tái)性。在windows下和ubuntu下基本上沒什么差別。下面從幾個(gè)不步驟來搭建開發(fā)環(huán)境。2016-06-06Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
這篇文章主要介紹了Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n],文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Python庫Cerberus數(shù)據(jù)驗(yàn)證如何保證系統(tǒng)安全性正確性實(shí)例分析
本文帶大家探索?Cerberus?庫,看看它是如何幫助我們?cè)陂_發(fā)過程中保障數(shù)據(jù)的安全性和完整性的,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python安全獲取域管理員權(quán)限幾種方式操作示例
在不考慮直接攻擊域控的情況下,如何快速獲取域管理員權(quán)限呢?本文分享幾種常見的獲取域管理員權(quán)限的方式,有需要的朋友可以借鑒參考下2021-10-10Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn)
本文主要介紹了Pycharm+Flask零基礎(chǔ)項(xiàng)目搭建入門的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04