工具使用场景:需要将文件夹下的所有文件按照names里的value内容修改掉,如果不存在,则根据模块进行复制。
import os
import shutil
names = 'key01,value01;key02,value02;key03,value03'
names_dict = {k: v for k, v in (item.split(',') for item in names.split(';'))}
path = r'C:\Users\xxx'
for filename in os.listdir(path):
for k, v in names_dict.items():
if v in filename:
new_name = k + v + '.docx'
# new_name = k + v #这里处理文件夹
old_path = os.path.join(path, filename)
new_path = os.path.join(path, new_name)
if os.path.exists(new_path):
continue
os.rename(old_path, new_path)
print(f"重命名: {filename} -> {new_name}")
for k, v in names_dict.items():
isEx = False
for filename in os.listdir(path):
if v in filename:
isEx = True
if isEx == False:
old_path = os.path.join(path, '模版.docx')
new_path = os.path.join(path, k + v + ' 补.docx')
shutil.copy(old_path, new_path)
# old_path = os.path.join(path, '模板') #这里处理文件夹
# new_path = os.path.join(path, k + v + ' 补')
# shutil.copytree(old_path, new_path)