python批量修改檔名

2021-06-29 14:21:41 字數 1615 閱讀 1364

修改前:flv檔案是從rar檔案中解壓出來的。由於英文不好,並且有的flv檔案的名字並不十分清晰明了,所以打算將flv檔案名字改為相應的rar檔案的名字。(僅供參考,新手勿噴)

**:主要使用了python中的re(正規表示式)和os模組中的函式。

#coding:gb2312

import os

import re

path="e:\\python1" #修改檔案所在的目錄

def rename_files(): #定義函式

for i in range(4):

for n in range(10): #每次迴圈查詢出數字順序對應的檔名稱.rar和.flv

prefix1 = "51cto.*-[%s][%s]-(.*)\.rar" %(i,n) #查詢rar檔案的規則,括號的作用,當使用re.findall()函式時,返回()中的內容,而不是所有匹配到的字元

prefix2 = "[%s][%s]-csvt-python.*\.flv"%(i,n) #查詢flv檔案的規則,當使用re.findall()函式時,返回匹配的字串

filename1=""

filename2=""

file_p1s=""

file_p2s=""

for filename in os.listdir(path): #查詢匹配的rar檔案

#print filename

if re.match(prefix1,filename): #如果匹配

file_p1 =re.findall(prefix1,filename) #re.findall()返回字串的列表

file_p1s=file_p1[0] #提取出列表中的字串

#print file_p1s

filename1 = filename #完整的rar檔名

if re.match(prefix2,filename): #查詢匹配的rar檔案,如果匹配

file_p2 =re.findall(prefix2,filename) #re.findall()返回字串的列表

file_p2s=file_p2[0] #提取出列表中的字串

#print file_p2s

filename2 = filename #完整的flv檔名

new_name = re.sub(prefix2,"%s%s"%(i,n)+file_p1s+".flv",filename2) #修改flv檔名

print new_name

print os.path.join(path,file_p2s)

print os.path.join(path,new_name)

os.rename(os.path.join(path,filename2),os.path.join(path,new_name)) #重新命名

if __name__ == "__main__":

rename_files()

修改後:rar檔案已經被我刪掉了。

總結:第一次寫python**,修修改改弄了近兩個小時才實現。還好成功了,還是有點成就感的。

python批量修改檔名

最近工作需要給大量檔案改名。恰巧,本人又在自學python,所以就想用python寫個程式來自動修改相應的檔名。下面就通過 來介紹一下我的做法吧。先說一下,我的工作要求是,在所有的資料檔案前加上資料所在資料夾的名字,改完名字後把所有的檔案彙總到乙個新的資料夾。我要處理的檔案有的存放在次最後層目錄 有...

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中有多個資料夾,要將這些資料夾中的檔案,都重新命名為資料夾的名字。就是收材料的時候姓名加學號打包收,現在要把整個包中的檔案按類分...