欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python創(chuàng)建增量目錄的代碼實(shí)例

 更新時(shí)間:2022年11月26日 09:21:32   作者:Jnchin  
這篇文章主要給大家介紹了關(guān)于Python創(chuàng)建增量目錄的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

需求很簡單

比如我在做機(jī)器學(xué)習(xí)實(shí)驗(yàn)的時(shí)候,實(shí)驗(yàn)結(jié)果的保存路徑是'runs/exp'

這樣就會(huì)出現(xiàn)一個(gè)問題:當(dāng)我第二次運(yùn)行程序的時(shí)候,如果我忘記更改代碼中的路徑名或者清除上次實(shí)驗(yàn)結(jié)果,這次的實(shí)驗(yàn)結(jié)果會(huì)和上次實(shí)驗(yàn)結(jié)果混在一起,很頭疼。

所以我希望在下次實(shí)驗(yàn)的時(shí)候代碼自動(dòng)創(chuàng)建一個(gè)新的目錄,如:'runs/exp2',來保存新的實(shí)驗(yàn)結(jié)果。

代碼

粘貼復(fù)制,直接照著下面用就行。

下面的函數(shù)是我從yolo5里復(fù)制過來的,代碼質(zhì)量很高,魯棒性很高,可以放心使用。

from pathlib import Path
import re
import glob

def increment_path(path, exist_ok=False, sep='', mkdir=True):
    """
    Increment file or directory path, i.e. runs/exp --> runs/exp{sep}2, runs/exp{sep}3, ... etc.
    :param path: file or directory path to increment
    :param exist_ok: existing project/name ok, do not increment
    :param sep: separator for directory name
    :param mkdir: create directory
    :return: incremented path
    """
    path = Path(path)  # os-agnostic
    if path.exists() and not exist_ok:
        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
        path = Path(f"{path}{sep}{n}{suffix}")  # update path
    dir_ = path if path.suffix == '' else path.parent  # directory
    if not dir_.exists() and mkdir:
        dir_.mkdir(parents=True, exist_ok=True)  # make directory
    return path

使用方法

path = 'runs/exp'  # 定義你的路徑名,比如我的是'runs/exp'
path = increment_path(path)
print(path)  # 打印輸出 runs\exp2

效果如下:

因?yàn)楫?dāng)前目錄下已經(jīng)有了一個(gè)’runs/exp’,所以函數(shù)increment_path會(huì)自動(dòng)創(chuàng)建增量目錄’runs\exp2’并返回新的路徑名。

好了,上述就是最常用的使用方法,接下來是我自己的筆記。

1、函數(shù)increment_path(path, exist_ok=False, sep='', mkdir=True)的參數(shù)含義如下:

  • path: 表示要增量的目錄,如:‘runs/exp’
  • exist_ok: 若為True,則不增量路徑,直接使用原來的路徑。
  • sep: 目錄名的分隔符,比如sep=’_’,則返回’runs/exp_2’
  • mkdir: 若為False,則只返回路徑名,不會(huì)自動(dòng)創(chuàng)建目錄。

2、其他筆記

pathlib.Path

from pathlib import Path

path = Path(path)
path.suffix  # 表示獲取文件后綴名
path.with_suffix('')  # 表示更改文件后綴名為''
path.stem  # 返回文件名,不帶后綴

glob.glob

import glob

glob.glob(f"./data/*.jpg")  # 找到./data/目錄下所有.jpg后綴的文件

總結(jié)

到此這篇關(guān)于Python創(chuàng)建增量目錄的文章就介紹到這了,更多相關(guān)Python創(chuàng)建增量目錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • openCV顯著性檢測的使用

    openCV顯著性檢測的使用

    顯著性檢測就是使用圖像處理技術(shù)和計(jì)算機(jī)視覺算法來定位圖片中最“顯著”的區(qū)域,本文主要介紹了openCV顯著性檢測的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python目錄和文件處理總結(jié)詳解

    Python目錄和文件處理總結(jié)詳解

    這篇文章主要介紹了Python目錄和文件處理總結(jié)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python使用pandas和openpyxl讀取Excel表格的方法詳解

    Python使用pandas和openpyxl讀取Excel表格的方法詳解

    這篇文章主要介紹了Python讀取Excel表格數(shù)據(jù)的方法,Python提供了多種讀取Excel文件的方式,最常用的庫是pandas和openpyxl,下面我將詳細(xì)介紹如何使用這兩個(gè)庫來讀取Excel文件,并包含一些實(shí)用示例,需要的朋友可以參考下
    2024-10-10
  • pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解)

    pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解)

    這篇文章主要介紹了pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python中的變量命名規(guī)則詳情

    python中的變量命名規(guī)則詳情

    這篇文章主要介紹了python中的變量命名規(guī)則詳情,變量名可以包括字母、數(shù)字、下劃線,但是數(shù)字不能做為開頭,變量用的好或不好,和代碼質(zhì)量有著非常重要的聯(lián)系,合理的使用變量,可以讓你的代碼可讀性更高并且更加簡潔,下面相關(guān)內(nèi)容吧需要的小伙伴可以參考一下
    2022-03-03
  • python如何實(shí)現(xiàn)二叉搜索樹算法

    python如何實(shí)現(xiàn)二叉搜索樹算法

    二叉搜索樹(BST)是一種數(shù)據(jù)結(jié)構(gòu),用于動(dòng)態(tài)集合操作如搜索、插入、刪除等,每個(gè)節(jié)點(diǎn)的左子樹包含小于節(jié)點(diǎn)值的所有項(xiàng),右子樹包含大于節(jié)點(diǎn)值的所有項(xiàng),通過中序遍歷可得升序序列,插入、搜索和刪除都從根節(jié)點(diǎn)開始,根據(jù)值的大小移動(dòng)到左或右子樹
    2024-10-10
  • 解決python中使用PYQT時(shí)中文亂碼問題

    解決python中使用PYQT時(shí)中文亂碼問題

    今天小編就為大家分享一篇解決python中使用PYQT時(shí)中文亂碼問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python文件操作和異常處理的方法和技巧

    Python文件操作和異常處理的方法和技巧

    本文介紹了Python文件操作和異常處理的方法和技巧,包括讀寫文本文件、讀寫二進(jìn)制文件、文件指針、異常類型和處理、try-except語句、異常處理程序等內(nèi)容,幫助讀者更好地掌握Python在文件操作和異常處理方面的應(yīng)用
    2023-05-05
  • python3讓print輸出不換行的方法

    python3讓print輸出不換行的方法

    在本篇內(nèi)容里小編給大家整理的是關(guān)于python3讓print輸出不換行的方法,有需要的朋友們可以學(xué)習(xí)參考下。
    2020-08-08
  • 解決pycharm remote deployment 配置的問題

    解決pycharm remote deployment 配置的問題

    今天小編就為大家分享一篇解決pycharm remote deployment 配置的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評論