批量修改文件名(保留后綴)
這種方法,保留了文件原本的后綴。這里主要演示的是對圖片名的修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# 批量修改文件名 # 批量修改圖片文件名 import os import re import sys path = 'F:\Temp\ZZ' fileList = os.listdir(path) # 待修改文件夾 print ( "修改前:" + str (fileList)) # 輸出文件夾中包含的文件 currentpath = os.getcwd() # 得到進程當前工作目錄 os.chdir(path) # 將當前工作目錄修改為待修改文件夾的位置 n = 1 # 名稱變量 for fileName in fileList: # 遍歷文件夾中所有文件 pat = ".+\.(jpg|png|jpeg)" # 匹配文件名正則表達式 pattern = re.findall(pat,fileName) # 進行匹配 os.rename(fileName,( str (n) + '.' + pattern[ 0 ])) #文件重新命名 n + = 1 # 改變編號,繼續下一項 os.chdir(currentpath) # 改回程序運行前的工作目錄 sys.stdin.flush() # 刷新 print ( "修改后:" + str (os.listdir(path))) #輸出修改后文件夾中包含的文件 |
批量修改文件名(全改)
這種方法,修改了文件原本的后綴。這里主要演示的是對圖片的修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import os path = 'F:\Temp\ZZ' # 獲取該目錄下所有文件,存入列表中 fileList = os.listdir(path) n = 0 for i in fileList: # 設置舊文件名(就是路徑+文件名) oldname = path + os.sep + fileList[n] # os.sep添加系統分隔符 # 設置新文件名 newname = path + os.sep + 'a' + str (n + 1 ) + '.jpg' os.rename(oldname, newname) # 用os模塊中的rename方法對文件改名 print (oldname, '======>' , newname) n + = 1 |
代碼有個小的注意事項。比如文件名字原本就是a1.jpg, a3.jpg, a6.jpg這樣時,運行上述代碼會報錯。把上面的字母a改成其他的就行了。因為文件夾下原本就有該名稱的文件,而程序在修改名字的時候,運行過程中就會出現兩個同名文件共存的情況。
讀取文件下的所有文件名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import os # 輸出所有的文件夾名和文件名 path = 'F:\Temp\ZZ' dataFileList = os.listdir(path) for i in dataFileList: print (i) # 讀取特定的文件名 txtFile = [] for filename in dataFileList: j = filename.split( '.' ) if len (j) = = 2 : if j[ 1 ] = = 'txt' : txtFile.append(filename) |
總結
到此這篇關于Python批量修改文件名的文章就介紹到這了,更多相關Python批量修改文件名內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/qq_55342245/article/details/121128784