假设目录下面有这样一系列命令杂乱的文件:
OPENFOAM -TRAINING- PART- #1.pdf
OPENFOAM - TRAINING- PART- #2.pdf
OPENFOAM- TRAINING- PART-#3 .pdf
不仅序号被放在最后,而且还有许多多余的空格。现在批量将这些文件重命名,去掉#
,并把序号挪到最前面。
import os
os.chdir('/Users/<>/python_learn/openfoam') # 把当前工作目录切换到需要进行操作的目录
for f in os.listdir():
f_name, f_ext = os.path.splitext(f) # 把文件名和扩展名分开
f_title, f_training, f_part, f_num = (f_name.split('-')) # 以`-`为分隔把文件名分解
f_title = f_title.strip() # 去掉多余的空格
f_training = f_training.strip() # 去掉多余的空格
f_part = f_part.strip() # 去掉多余的空格
f_num = f_num.strip()[1:].zfill(2) # 去掉多余的空格、去掉`#`号、非两位数自动补0(1变01)
new_name = '{}-{}-{}-{}{}'.format(f_num, f_title, f_training, f_part, f_ext) # 新文件名的格式
os.rename(f, new_name) # 按新文件名重命名这些文件