• Glenn Jocher's avatar
    Fix `increment_path()` explicit file vs dir handling (#5523) · 85350533
    Glenn Jocher 提交于
    Resolves https://github.com/ultralytics/yolov5/pull/5341#issuecomment-961774729
    
    Tests:
    ```python
    import glob
    import re
    from pathlib import Path
    
    
    def increment_path(path, exist_ok=False, sep='', mkdir=False):
        # Increment file or directory path, i.e. runs/exp --> runs/exp{sep}2, runs/exp{sep}3, ... etc.
        path = Path(path)  # os-agnostic
        if path.exists() and not exist_ok:
            path, suffix = (path.with_suffix(''), path.suffix) if path.is_file() else (path, '')
            dirs = glob.glob(f"{path}{sep}*")  # similar paths
            matches = [re.search(rf"%s{sep}(\d+)" % path.stem, d) for d in dirs]
            i = [int(m.groups()[0]) for m in matches if m]  # indices
            n = max(i) + 1 if i else 2  # increment number
            path = Path(f"{path}{sep}{n}{suffix}")  # increment path
        if mkdir:
            path.mkdir(parents=True, exist_ok=True)  # make directory
        return path
    
    
    print(increment_path('runs'))
    print(increment_path('export.py'))
    print(increment_path('abc.def.dir'))
    print(increment_path('abc.def.file'))
    ```
    85350533
名称
最后提交
最后更新
.github 正在载入提交数据...
data 正在载入提交数据...
models 正在载入提交数据...
utils 正在载入提交数据...
.dockerignore 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.pre-commit-config.yaml 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
Dockerfile 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
detect.py 正在载入提交数据...
export.py 正在载入提交数据...
hubconf.py 正在载入提交数据...
requirements.txt 正在载入提交数据...
setup.cfg 正在载入提交数据...
train.py 正在载入提交数据...
tutorial.ipynb 正在载入提交数据...
val.py 正在载入提交数据...