(
        self,
        path: PATH_TYPES,
        recurse: bool = False,
        force: bool = False,
        ignore_errors: bool = False,
        dry_run: bool = False,
    )
return 0
Remove the directory. If recurse is True, allow removing empty children.
        If force is true, remove contents destructively.
Remove the directory. If recurse is True, allow removing empty children.
        If force is true, remove contents destructively.
Remove the directory . If recurse is True allow removing empty children . If force is true remove contents destructively .
def rmdir(
        self,
        path: PATH_TYPES,
        recurse: bool = False,
        force: bool = False,
        ignore_errors: bool = False,
        dry_run: bool = False,
    ) -> int:
        """Remove the directory. If recurse is True, allow removing empty children.
        If force is true, remove contents destructively."""
        if not isinstance(path, pathlib.Path):
            path = pathlib.Path(path)
        log_prefix = "[DRY RUN] " if dry_run else ""
        if force:
            logger.info(f"{log_prefix}Forcing removal of files under {path!s}")
            if not dry_run:
                shutil.rmtree(path, ignore_errors=ignore_errors)
                return 0
        if recurse:
            for subdir in path.iterdir():
                if not subdir.is_dir():
                    continue
                logger.info(f"{log_prefix}Removing directory: {subdir!s}")
                if not dry_run:
                    rc = self.rmdir(
                        subdir,
                        recurse=recurse,
                        force=force,
                        ignore_errors=ignore_errors,
                    )
                    if rc != 0:
                        return rc
        logger.info(f"{log_prefix}Removing directory: {path!s}")
        if not dry_run:
            path.rmdir()
        return 0
def rmdir ( self , path : PATH_TYPES , recurse : bool = False , force : bool = False , ignore_errors : bool = False , dry_run : bool = False , ) -> int : if not isinstance ( path , pathlib . Path ) : path = pathlib . Path ( path ) log_prefix = "[DRY RUN] " if dry_run else "" if force : logger . info ( f"{log_prefix}Forcing removal of files under {path!s}" ) if not dry_run : shutil . rmtree ( path , ignore_errors = ignore_errors ) return 0 if recurse : for subdir in path . iterdir ( ) : if not subdir . is_dir ( ) : continue logger . info ( f"{log_prefix}Removing directory: {subdir!s}" ) if not dry_run : rc = self . rmdir ( subdir , recurse = recurse , force = force , ignore_errors = ignore_errors , ) if rc != 0 : return rc logger . info ( f"{log_prefix}Removing directory: {path!s}" ) if not dry_run : path . rmdir ( ) return 0