所用模块:import os
(一)打开文件夹,获得旧文件名
path=r"D:\exp\resultdata" //文件夹途径
for (root, dirs, files) in os.walk(path):
os.walk(path)//遍历D:\exp\resultdata下文件
path代表需要遍历的根文件夹
root表示正在遍历的文件夹的名字 //路径
dirs记录正在遍历的文件夹下的子文件夹集合[文件夹中子文件夹名字的list]
files记录正在遍历的文件夹中的文件集合[文件名的list]
(二)获得新文件名(如何打开一个文件)
一般新文件名都保存在一个文件中
new_names_files=open('文件名.txt','r')
content=open('文件名.txt','r')(此时content是一个含有所有new name 的列表)
注意:对新名字(字符串)会有一些操作
(1)对文件名(字符)的分割
用split()进行分割
a=''wer.werrew/"
例如:
b=a.split(.)
print(b)
输出结果:b=['wer','werrew/']
注意:字符串分割后得到是一个list
(2)list 添加新的元素、
用append()进行添加
例如:
a=[]
a.append()
(3)字典添加新的元素
用update()进行添加
例如:
d={}
d.update(key:value)
实例:
例如:
对上面content列表中的new name 进行分割并得到以数字为key,后面字符串为名字。
content=['werwewf.1','wfcdsvw.2','sadwefew.3']
d={}
for i in content:
namesp=i.split(.)
d.update(namesp[0]:namesp[1])
(三)重命名
利用os.rename()函数
例如
os.rename(oldname,newname)
实例:旧名字与新名字的数字相对
file=['1.max','2.max'……]//旧名字
for file in files:
oldname = os.path.join(root,file)
os.path.join()函数:连接两个或更多的路径名组件
Path1 = 'home'
Path2 = 'develop'
Path3 = 'code'
Path10 = Path1 + Path2 + Path3
Path20 = os.path.join(Path1,Path2,Path3)
print ('Path10 = ',Path10)
print ('Path20 = ',Path20)
输出 Path10 = homedevelopcode
Path20 = home\develop\code
namesp=file.split('.')
new_namesp=d[int(namesp[0])]//数字相对
newname = os.path.join(root,new_namesp)
os.rename(oldname,newname)
os.renames() 方法用于递归重命名目录或文件。
os.rename(old,new)
old -- 要重命名的目录
new --文件或目录的新名字。甚至可以是包含在目录中的文件,或者完整的目录树。