『壹』 如何用python批量改文件名
批量修改文件名的方法(以批量修改圖片為例進行說明,修改ppt相同的道理)如下:在c盤建立一個文件夾,將下載的圖片放置於該文件夾中,如下圖所示。
滑鼠左鍵點擊,開始-》運行-》在對話框中輸入字母「cmd」,進入dos模式 ,如下圖所示。
在dos模式輸入命令行「cd c:\pic」然後回車,再輸入命令行「dir /b>rename.xls",如下圖所示,可將文件夾中的文件名在rename.xls文件中列出。
隨後用xls打開c:\pic文件夾中的rename.xls,會發現文件名以全部羅列在A列中(你也可以用滑鼠來調整文件名的順序),可以在B1列中輸入1.jpg作為第一個文件文件名。
滑鼠選中B1單元格,並在B1列的右下方,使滑鼠游標變為+號時,拖動使所有jpg文件的右側B列中都有文件名。再將A8單元格中沒有用的文件名刪除,如下圖示。
滑鼠選中C1單元格,並在編輯框中輸入公式="ren "&A1&" "&B1,如下圖所示。
繼續用滑鼠拖動C1單元格右下方的句柄,使剩餘的C2-C7單元格填充如下圖所示。
然後,滑鼠選中C列,滑鼠右鍵復制,如下圖示。
在記事本中,粘貼剛才的命令行,如下圖示。
滑鼠點擊菜單「文件」——「另存為」,輸入文件名ren.bat,要注意下圖所示紅圈中的路徑及擴展名選項。
打開c盤pic文件夾,滑鼠雙擊ren.bat這個批處理文件,即可將該文件夾下的jpg圖片,按照剛才rename.xls中的順序和文件名批量修改文件名,如下圖示。
自此,已經完成了批量修改文件名的操作。運用了dos命令技巧、xls技巧以及批處理3個知識點來達到批量修改文件名的效果。
『貳』 怎麼用python批量修改文件名
基本程序
1
引入os模塊(python中操作文件的模塊)。
2
定義修改名稱的函數rename。
在rename函數中定義一個儲存路徑的變數path,並將要修改文件名的文件夾的路徑賦值給該變數。
3
繼續向函數中添加功能代碼
4
最後調用這個rename函數這個腳本就寫完了。執行這個文件,就會將文件夾下所有的文件改成 這里是你要改的文件名.後綴名 這樣的格式,顯然我們一般情況下不是需要這樣的效果的。下面我列出了一些常用的改文件名的方法。
5
列出代碼,便於復制
import os;
def rename():
path="這里替換為你的文件夾的路徑";
filelist=os.listdir(path)#該文件夾下所有的文件(包括文件夾)
for files in filelist:#遍歷所有文件
Olddir=os.path.join(path,files);#原來的文件路徑
if os.path.isdir(Olddir):#如果是文件夾則跳過
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件擴展名
Newdir=os.path.join(path,"這里是你要改的文件名"+filetype);#新的文件路徑
os.rename(Olddir,Newdir);#重命名
rename();
END
添加改名規律
1
(1).序號依次遞增型
import os;
def rename():
count=0;
path='C:\\Users\\admin\\Desktop\\test';
filelist=os.listdir(path)#該文件夾下所有的文件(包括文件夾)
for files in filelist:#遍歷所有文件
Olddir=os.path.join(path,files);#原來的文件路徑
if os.path.isdir(Olddir):#如果是文件夾則跳過
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件擴展名
Newdir=os.path.join(path,str(count)+filetype);#新的文件路徑
os.rename(Olddir,Newdir);#重命名
count+=1;
rename();
2
(2).批量取分隔符前面/後面的名稱
import os;
def rename():
path='C:\\Users\\admin\\Desktop\\test';
filelist=os.listdir(path)#該文件夾下所有的文件(包括文件夾)
for files in filelist:#遍歷所有文件
Olddir=os.path.join(path,files);#原來的文件路徑
if os.path.isdir(Olddir):#如果是文件夾則跳過
continue;
filename=os.path.splitext(files)[0];#文件名
filetype=os.path.splitext(files)[1];#文件擴展名
if filename.find('---')>=0:#如果文件名中含有---
Newdir=os.path.join(direc,filename.split('---')[0]+filetype);
#取---前面的字元,若需要取後面的字元則使用filename.split('---')[1]
if not os.path.isfile(Newdir):
os.rename(Olddir,Newdir);
rename();
『叄』 使用python對文件名進行批量修改(二)2020-06-08---刪除指定字元串
本文接上一篇 使用python對文件名進行批量修改2020-04-24 待續內容,主要介紹如何刪除文件名前綴及後綴,方法為基於lstrip()和partition()函數的實現。
(1)刪除文件名前綴; 如 「 www.cn-ki.net_ 」。
(2)刪除指定字元之後的內容;如 」_張三「 、 「_李四」 、 」_Mike「 等。
(1)刪除前綴函數 str.lstrip()
將字元串s中的』aabb_『刪除,運行結果如圖:
(2)刪除指定字元之後內容,使用函數 str.partition()
將字元串s中的』_aabb『刪除,運行結果如圖:
Python 3.6.4
『肆』 python如何實現批量變更文件名
b = a.replace("文件夾","文件") # 這一句的效果是將-替換為空
# 這里可以再加個判斷是否有「文件」兩字,沒有給他加上即可
if b.find("文件") == -1:
b = "文件" + b
『伍』 python如何批量修改指定目錄下的文件名稱
# -*- coding: utf-8 -*-import os, sys,re,shutilfrom nt import chdir
#讀取中文路徑 u''path=u"D:\zhyue93\backup\個人文件\視頻\10、C#\4、C# 語言進階特性"dirs=os.listdir(path)
#排序 1,2,3...10,11dirs=sorted(dirs,key = lambda i:int(re.match(r'(d+)',i).group()))
#將文件改名i=10for dir in dirs:
i+=1
newDir=os.path.join(path,dir)
newFiles=os.listdir(newDir) for file in newFiles: #rename之前要先用chdir()函數進入到目標文件所在的路徑,
#告訴python編譯器要重命名的文件在哪兒,然後才可以修改
#改變當前工作目錄到指定的路徑 chdir(newDir)
os.rename(file,str(i)+"-"+file) print '-----'
#將文件移動到path路徑下print u'移動文件'for dir in dirs:
newDir=os.path.join(path,dir)
newFiles=os.listdir(newDir) for file in newFiles:
oldFilePath=os.path.join(newDir,file)
newFilePath=os.path.join(path,file)
shutil.move(oldFilePath, newFilePath)#移動文件到目標路徑
『陸』 python修改文件名問題
filenames=os.listdir('D:\\workspace\\python\\src\\test')
上面的代碼執行之後,filenames中存儲的只是文件名字的列表,不包括路徑!
所以for循環裡面應該是
path = 'D:\\workspace\\python\\src\\test'
os.rename(os.path.join(path, filenames[a]),str(a)+'.bmp')