最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

需求很簡(jiǎn)單

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

這樣就會(huì)出現(xiàn)一個(gè)問(wèn)題:當(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',來(lái)保存新的實(shí)驗(yàn)結(jié)果。

代碼

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

下面的函數(shù)是我從yolo5里復(fù)制過(guò)來(lái)的,代碼質(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’并返回新的路徑名。

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

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

  • path: 表示要增量的目錄,如:‘runs/exp’
  • exist_ok: 若為True,則不增量路徑,直接使用原來(lái)的路徑。
  • 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python自動(dòng)化構(gòu)建工具scons使用入門筆記

    Python自動(dòng)化構(gòu)建工具scons使用入門筆記

    這篇文章主要介紹了Python自動(dòng)化構(gòu)建工具scons使用入門筆記,本文講解了安裝scons、scons常用命令、scons使用示例等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板(推薦)

    使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板(推薦)

    這篇文章主要介紹了使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • python遍歷文件目錄、批量處理同類文件

    python遍歷文件目錄、批量處理同類文件

    這篇文章主要為大家詳細(xì)介紹了python遍歷文件目錄、批量處理同類文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 利用Python編寫(xiě)本地音樂(lè)播放器

    利用Python編寫(xiě)本地音樂(lè)播放器

    這篇文章主要介紹了利用Python編寫(xiě)本地音樂(lè)播放器,主要以分享完整源碼展開(kāi)文章內(nèi)容,具有一的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • 解決python 使用openpyxl讀寫(xiě)大文件的坑

    解決python 使用openpyxl讀寫(xiě)大文件的坑

    這篇文章主要介紹了解決python 使用openpyxl讀寫(xiě)大文件的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Pandas自定義選項(xiàng)option設(shè)置

    Pandas自定義選項(xiàng)option設(shè)置

    pandas有一個(gè)option系統(tǒng)可以控制pandas的展示情況,一般來(lái)說(shuō)我們不需要進(jìn)行修改,但是不排除特殊情況下的修改需求。本文將會(huì)詳細(xì)講解pandas中的option設(shè)置,感興趣的可以了解下
    2021-07-07
  • Pyinstaller加密打包成反編譯可執(zhí)行文件

    Pyinstaller加密打包成反編譯可執(zhí)行文件

    這篇文章主要為大家介紹了Pyinstaller加密打包成可執(zhí)行文件方法示例。有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 七個(gè)Python必備的GUI庫(kù)

    七個(gè)Python必備的GUI庫(kù)

    這篇文章主要介紹了七個(gè)Python必備的GUI庫(kù),幫助大家更好的理解和學(xué)習(xí)使用python制作gui程序,感興趣的朋友可以了解下
    2021-04-04
  • 一文詳細(xì)NumPy中np.empty的用法

    一文詳細(xì)NumPy中np.empty的用法

    np.empty是NumPy庫(kù)中一個(gè)強(qiáng)大但潛在危險(xiǎn)的工具,本文主要介紹了一文詳細(xì)NumPy中np.empty的用法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • 基于Python編寫(xiě)微信清理工具的示例代碼

    基于Python編寫(xiě)微信清理工具的示例代碼

    這篇文章主要和大家分享一個(gè)用Python語(yǔ)言編寫(xiě)的微信清理小工具的示例代碼,而且該工具不會(huì)刪除文字的聊天記錄,感興趣的可以了解一下
    2022-05-05

最新評(píng)論

平南县| 金川县| 凤阳县| 长岭县| 贵定县| 江口县| 永泰县| 通海县| 九龙城区| 嘉善县| 阿荣旗| 葵青区| 余姚市| 云阳县| 金平| 米脂县| 肥西县| 醴陵市| 临澧县| 沁阳市| 宁南县| 卓尼县| 六安市| 长春市| 万盛区| 济源市| 玉屏| 岳西县| 武夷山市| 内乡县| 阿坝| 阿拉善盟| 肃南| 堆龙德庆县| 礼泉县| 墨竹工卡县| 克什克腾旗| 江都市| 宝应县| 连州市| 凤山县|