1、需求
目标文件名已经匹配了数据库中姓名对应的ID,原始文件夹中的文件名需要修改带上唯一ID,以匹配路径数据
2、实现代码:
import os
#需要改名的文件所在的目录
path = "/Users/username/Desktop/pdf"
# 获取该目录下所有文件,存入列表中
fileList = os.listdir(path)
#循环查到文件列表中的文件名
for inner_file in fileList:
# 获取旧文件名(路径+分隔符+文件名)
# os.sep添加系统分隔符
old_name = path + os.sep + inner_file
#修改后的文件名list
targetList=["1451_陈芳_体检报告.pdf","3618_陈凌_体检报告.pdf","3455_陈秀_体检报告.pdf","244_陈娣_体检报告.pdf","565_陈有_体检报告.pdf",
"738_陈哈_体检报告.pdf","4321_陈玉_体检报告.pdf","439_陈英_体检报告.pdf","1187_陈呵_体检报告.pdf","766_陈和_体检报告.pdf",
"4741_陈从_体检报告.pdf","3766_陈自_体检报告.pdf","91_陈呢_体检报告.pdf","4712_程爱_体检报告.pdf"]
#循环获取目标文件名list
for targetFile in targetList:
#截取原文件名中姓名与目标文件的文件名中的姓名比对,一样就开始执行
#[0]表示原文件名"_"前的字符,[1]表示目标文件命中"_"中间姓名
if inner_file.split("_")[0]==targetFile.split("_")[1]:
print(inner_file.split("_")[0], targetFile.split("_")[1], targetFile)
#修改名字需要带上原始路径,否则会报错找不到文件名
new_name = path + os.sep + targetFile
print(new_name)
#修改文件名
os.rename(old_name, new_name)