所用模塊: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]
(二)獲得新文件名(如何打開一個(gè)文件)
一般新文件名都保存在一個(gè)文件中
new_names_files=open('文件名.txt','r')
content=open('文件名.txt','r')(此時(shí)content是一個(gè)含有所有new name 的列表)
注意:對(duì)新名字(字符串)會(huì)有一些操作
(1)對(duì)文件名(字符)的分割
用split()進(jìn)行分割
a=''wer.werrew/"
例如:
b=a.split(.)
print(b)
輸出結(jié)果:b=['wer','werrew/']
注意:字符串分割后得到是一個(gè)list
(2)list 添加新的元素挠铲、
用append()進(jìn)行添加
例如:
a=[]
a.append()
(3)字典添加新的元素
用update()進(jìn)行添加
例如:
d={}
d.update(key:value)
實(shí)例:
例如:
對(duì)上面content列表中的new name 進(jìn)行分割并得到以數(shù)字為key戴差,后面字符串為名字。
content=['werwewf.1','wfcdsvw.2','sadwefew.3']
d={}
for i in content:
? ? namesp=i.split(.)
? ? d.update(namesp[0]:namesp[1])
(三)重命名
利用os.rename()函數(shù)
例如
?os.rename(oldname,newname)
實(shí)例:舊名字與新名字的數(shù)字相對(duì)
file=['1.max','2.max'……]//舊名字
for file in files:
? ? ? ? oldname = os.path.join(root,file)
os.path.join()函數(shù):連接兩個(gè)或更多的路徑名組件
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])]//數(shù)字相對(duì)
? ? ? ? newname = os.path.join(root,new_namesp)
? ? ? ? os.rename(oldname,newname)
os.renames() 方法用于遞歸重命名目錄或文件定续。
os.rename(old,new)
old?-- 要重命名的目錄
new?--文件或目錄的新名字帐偎。甚至可以是包含在目錄中的文件,或者完整的目錄樹改鲫。