Skip to content

Commit

Permalink
Update increment_path() to handle file paths (ultralytics#2867)
Browse files Browse the repository at this point in the history
  • Loading branch information
glenn-jocher committed Apr 20, 2021
1 parent 4f9b39b commit 71c6e40
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions utils/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -591,14 +591,16 @@ def apply_classifier(x, model, img, im0):
return x


def increment_path(path, exist_ok=True, sep=''):
# Increment path, i.e. runs/exp --> runs/exp{sep}0, runs/exp{sep}1 etc.
def increment_path(path, exist_ok=False, sep=''):
# 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 exist_ok) or (not path.exists()):
if not path.exists() or exist_ok:
return str(path)
else:
suffix = path.suffix
path = path.with_suffix('')
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
return f"{path}{sep}{n}" # update path
return f"{path}{sep}{n}{suffix}" # update path

0 comments on commit 71c6e40

Please sign in to comment.