Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| import os | |
| import shutil | |
| import glob | |
| import argparse | |
| def move_layout_files(layout_dir): | |
| """ | |
| 将layout文件夹下面的{dir}/filename.svg移动到layout下,命名为{dir}.svg | |
| """ | |
| # 确保layout_dir存在 | |
| if not os.path.isdir(layout_dir): | |
| print(f"错误: 目录 {layout_dir} 不存在") | |
| return False | |
| # 获取layout目录下的所有子目录 | |
| subdirs = [d for d in os.listdir(layout_dir) | |
| if os.path.isdir(os.path.join(layout_dir, d))] | |
| if not subdirs: | |
| print(f"警告: {layout_dir} 下没有找到子目录") | |
| return False | |
| print(f"在 {layout_dir} 下找到 {len(subdirs)} 个子目录") | |
| # 遍历每个子目录 | |
| moved_count = 0 | |
| for subdir in subdirs: | |
| subdir_path = os.path.join(layout_dir, subdir) | |
| # 查找子目录中的svg文件 | |
| svg_files = glob.glob(os.path.join(subdir_path, "*.svg")) | |
| if not svg_files: | |
| print(f"跳过 {subdir}: 未找到SVG文件") | |
| continue | |
| # 只处理第一个找到的SVG文件 | |
| source_file = svg_files[0] | |
| # 新文件名为{dir}.svg | |
| target_file = os.path.join(layout_dir, f"{subdir}.svg") | |
| try: | |
| shutil.copy2(source_file, target_file) | |
| print(f"已复制: {source_file} -> {target_file}") | |
| moved_count += 1 | |
| except Exception as e: | |
| print(f"移动 {source_file} 到 {target_file} 时出错: {str(e)}") | |
| print(f"完成! 成功移动了 {moved_count} 个文件") | |
| return True | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser(description="将layout文件夹下面的子目录中的SVG文件移动到layout并重命名") | |
| parser.add_argument("layout_dir", help="layout目录的路径") | |
| args = parser.parse_args() | |
| move_layout_files(args.layout_dir) |