import argparse import os from pathlib import Path # Update runs into 4 digits integers e.g. r2 to r0002. def rename_report_folders_for_instrument(directory_path, really): for folder_name in directory_path.glob("*/*/usr/Reports/*"): if folder_name.name.startswith('r') and folder_name.name[1:].isdigit(): new_folder_name = 'r' + folder_name.name[1:].zfill(4) new_path = folder_name.parent.joinpath(new_folder_name) if really: folder_name.rename(new_path) print(f'Renamed {folder_name} to {new_folder_name}') else: print(f'Will rename {folder_name} to {new_folder_name}') parser = argparse.ArgumentParser( description='Instrument to change the report folders for.') parser.add_argument( '--instrument', type=str, help='instrument name', required=True, ) parser.add_argument( '--really', action='store_true', help="Actually make changes (otherwise dry-run)") args = parser.parse_args() instrument = args.instrument path = "/gpfs/exfel/exp/{instrument}" rename_report_folders_for_instrument(Path(path.format(instrument=instrument)), args.really)