给定一个路径路径下面有若干子文件夹子文件夹内有若干文件文件的命名格式为附件x其中x为数字是跳序的。现需求编写一个python命令行工具要求实现将该路径下的所有文件按照其子文件夹为一级修改文件名规则是1将跳序排序比如245变成123。2将所有的英文冒号换成中文全角冒号:
以下是一个实现上述需求的Python命令行工具的示例代码:
import os
def rename_files(path):
# 获取指定路径下的所有子文件夹
subfolders = [f.path for f in os.scandir(path) if f.is_dir()]
for folder in subfolders:
# 获取当前子文件夹下的所有文件
files = [f.name for f in os.scandir(folder) if f.is_file()]
files.sort()
for i, file in enumerate(files):
# 提取文件名中的数字
file_number = int(file.split(':')[0].split('附件')[1])
# 生成新的文件名
new_file_name = f'附件{i+1:02d}:{file.split(":")[1]}'
# 构建旧文件路径和新文件路径
old_file_path = os.path.join(folder, file)
new_file_path = os.path.join(folder, new_file_name)
# 重命名文件
os.rename(old_file_path, new_file_path)
if __name__ == "__main__":
path = input("请输入路径:")
rename_files(path)
使用时,运行该脚本,并输入要处理的路径,即可将该路径下的所有文件按照需求进行重命名
原文地址: https://www.cveoy.top/t/topic/iqSg 著作权归作者所有。请勿转载和采集!