通过python给文件夹批量改名

因为用matlab搞数字图像处理时文件是在麻烦..文件名都是Fig0203(a)(chest-xray).tif这样的,于是用python写了一个正则来修改成chest-xray.tif这样

正则表达式初学笔记 相关操作文件夹及代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import os
import os.path
import re
rootdir = "c:\Users\leidar\desktop\matlab" # windows下的目录..原谅我丢桌面
rootnames=os.listdir(rootdir)

prog = re.compile(r'().tif') # 找到图像文件
name = re.compile(r'([-_ \w]+)') # 找到分割点
for rt in xrange(len(rootnames)):
filenames = os.listdir(rootdir + os.sep + rootnames[rt]) # 找到一级子目录
for a in xrange(len(filenames)):
if prog.search(filenames[a]) != None:
if name.findall(filenames[a])[-2] == 'tif':
newname = name.findall(filenames[a])[-3] + '.tif'
else:
newname = name.findall(filenames[a])[-2] + '.tif'
path = rootdir + os.sep + rootnames[rt] + os.sep ;
os.renames(path + filenames[a], path + newname)
print 'change name from ',(path + filenames[a])
print 'to ', (path + newname)
#os.renames(path + os.sep + filenames[a],path + os.sep + str(a)+'.bmp')
文章目录