python批量修改檔名

2021-08-18 06:44:37 字數 2085 閱讀 9998

最近工作需要給大量檔案改名。恰巧,本人又在自學python,所以就想用python寫個程式來自動修改相應的檔名。下面就通過**來介紹一下我的做法吧。

先說一下,我的工作要求是,在所有的資料檔案前加上資料所在資料夾的名字,改完名字後把所有的檔案彙總到乙個新的資料夾。我要處理的檔案有的存放在次最後層目錄、有的存放在最後一層目錄(無論存放在**,最後加上的名字都是次次後層資料夾的名字)。所以,我要先判斷我取到的檔名是否是資料夾。如果是資料夾的話,就呼叫乙個處理資料夾的函式;若果是目標檔案的話,就呼叫處理檔案的函式。

具體**如下:

#說明:本人執行此程式的環境:win10+python2.7+sublime text2
# encoding=utf-8

import os

import os.path

import shutil

#定義乙個處理檔案的函式

def myrename(path,newpath,filename,filelist): #filename是要處理的檔名,filelist是要加上的資料夾的名字

#判斷path是否存在

if os.path.exists(path):

newfilename = filelist + filename

oldd = path

newd = os.path.join(newpath,newfilename)

os.rename(oldd,newd) #如果你不想改變檔案的所在位置,那麼把上一句的newd改為os.path.join(path,newfilename)即可

else:

print "path error!"

#定義乙個處理資料夾的函式

def yrename(path,newpath,filelist):

#判斷path是否存在

if os.path.exists(path):

filenames = os.listdir(path) #獲取該資料夾下的檔名

for filename in filenames: #迴圈內容和處理檔案的函式原理一樣

newfilename = filelist + filename

oldd = os.path.join(path,filename)

newd = os.path.join(newpath,newfilename)

os.rename(oldd,newd)

print "done!"

else:

print "path error!"

path = '你要處理的檔案的路徑' #格式為'd:\\...\\...'

path = unicode(path, "utf-8") #如果你的路徑含有中文,則需要加上這一句!

newpath = '你處理完的檔案要彙總到的資料夾路徑' #格式和path的一樣

newpath = unicode(newpath, "utf-8") #如果路徑含有中文,也要加這一句

filelists = os.listdir(path)

for filelist in filelists:

#print filelist(此句為我自己檢視結果所用,可以不要)

path1 = os.path.join(path,filelist)

filelists1 = os.listdir(path1)

for filelist1 in filelists1:

path2 = os.path.join(path1,filelist1)

if os.path.isdir(path2): #!!os.isdir()的引數一定要是路徑,我之前一直用檔名,然後總是得不到正確的邏輯!!所以才有上一句的join

yrename(path2,newpath,filelist) #呼叫處理資料夾的函式

else:

myrename(path2,newpath,filelist1,filelist)#呼叫處理檔名的函式

print "over" #處理完後,列印over

第一次發帖,歡迎指正!

python批量修改檔名

修改前 flv檔案是從rar檔案中解壓出來的。由於英文不好,並且有的flv檔案的名字並不十分清晰明了,所以打算將flv檔案名字改為相應的rar檔案的名字。僅供參考,新手勿噴 主要使用了python中的re 正規表示式 和os模組中的函式。coding gb2312 import os import ...

Python 批量修改檔名

需要將收到的 bmp 檔案按名稱順序排列,而檔名本來的樣式類似於image12.bmp,現需要修改為12.bmp,由於檔案數量較大,所以產生了利用 python 修改的想法,雖然 很簡單,但還算成功。import os 檔案位址 path c users 迴圈處理資料夾內的每個檔案 forfile ...

python批量修改檔名

問題描述 資料夾1中有資料夾2s,2s中還有3s.pdf和4s.txt兩個檔案,現在要將3s.pdf和4s.txt重新命名為2s.pdf和2s.txt 實際情況是,資料夾1中有多個資料夾,要將這些資料夾中的檔案,都重新命名為資料夾的名字。就是收材料的時候姓名加學號打包收,現在要把整個包中的檔案按類分...