项目场景:
有一个文件夹里有人员照片,以姓名命名。因导入人脸库需要,需要将照片名称改为姓名_工号的格式。
第一步:从文件中读取姓名-工号的信息,形成字典。
my_dict = {}
l = []
with open(file='teacher_id.txt',mode='r',encoding='utf8') as f:
for line in f:
data = line.strip().split('\t')
l.append(data)
my_dict.setdefault(data[0], data[1])
第二步:批量替换。
引入os。使用os.rename()函数实现文件名替换。
import os
# 设置文件所在路径
path = 'teacher_photos/'
# 批量修改文件名
for file in os.listdir(path):
# 获取文件名和文件扩展名
filename, extname = os.path.splitext(file)
filename1 = filename
print('1', filename,extname)
# 修改后的文件名
if filename1 in my_dict.keys():
val = my_dict[filename1]
newname = filename1+'_'+val
print('2', newname)
# 文件重命名
os.rename(os.path.join(path, filename+extname), os.path.join(path, newname+extname))
else:
print('no id of ',filename)