本文实例讲述了Python实现批量修改文件名的方法。分享给大家供大家参考。具体如下:
下载了评书《贺龙传奇》,文件名中却都含有xxx有声下载,用脚本将其去掉。脚本涉及os.rename重命名方法,str.partition方法使用, 及正则match,search方法区别
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# encoding:utf-8
##
# 文件名如:
# 贺龙传奇\d+[有声下吧www.ysx8.com].mp3
##
import os,re
fs = os.listdir( '单田芳_贺龙传奇' )
for f in fs:
######方法一:partition获取无用字符
#1.将文件名以'['符分为3部分
#ls=f.partition('[')
#2.ls[0]为需要文件名,因此获取ls[1:]
#dirtystring = ''.join(ls[1:])
#3.开始替换
#newname=f.replace(dirtystring, '') + '.mp3')
#os.rename('单田芳_贺龙传奇/' + f, newname)
######方法二:正则获取无用字符
dirtymatch = re.search(r '\[.*?\]' , f)
if dirtymatch:
dirtystring = dirtymatch.group( 0 )
newname = f.replace(dirtystring, ' ') + ' .mp3'
os.rename( '单田芳_贺龙传奇/' + f, newname)
#注意:可以直接用re.sub方法进行正则替换掉文件名中不需要字符
|
希望本文所述对大家的Python程序设计有所帮助。