python 将指定路径(目录)下的图片或文本文件按给定序号重新排序,并批量重命名 (yolo、tensorflow数据集批量处理)
生活随笔
收集整理的這篇文章主要介紹了
python 将指定路径(目录)下的图片或文本文件按给定序号重新排序,并批量重命名 (yolo、tensorflow数据集批量处理)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 需求
- 代碼
- 效果
- 運行前
- 運行后
需求
給定目錄,能夠根據圖片已有名稱獲取圖片順序,并批量重命名。
代碼
# -*- encoding: utf-8 -*- """ @File : file_batch_rename.py @Time : 2019/11/4 9:01 @Author : Dontla @Email : sxana@qq.com @Software: PyCharm """ import os import refiles_path = './files/' files = os.listdir(files_path) # print(files)# 第一種排序方法 files.sort(key=len) # print(files)# 第二種排序方法:正則表達式(略) for f in files:old_file = os.path.join(files_path, f)# print(old_file)# 獲取下標(找到列表中第一個匹配的)# print(files.index(f) + 1)# 獲取新文件名與文件后綴# 如果沒對files列表排序的話可別用這句代碼,文件名亂了就麻煩了,到時候圖片與標注對不上(最保險的還是用正則化表達式)new_file_name = files.index(f) + 1file_suffix = os.path.splitext(f)[1]# print(new_file_suffix)new_file = os.path.join(files_path, '{}{}'.format(new_file_name, file_suffix))# print(new_file)# 將文件重命名os.rename(old_file, new_file)效果
運行前
將帶有序號的文件放到程序.py文件當前文件夾的files文件夾中,注意處理深度學習訓練集測試集時不同類型文件分開處理(比如.txt文件和.jpg文件分開處理,分兩次來,不要全扔到一起處理,會亂序的)
運行后
參考文章:python 使用sort()函數和正則表達式(lambda)對os.listdir()獲取的文件夾文件列表進行重新排序 亂序排序
總結
以上是生活随笔為你收集整理的python 将指定路径(目录)下的图片或文本文件按给定序号重新排序,并批量重命名 (yolo、tensorflow数据集批量处理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm 运行.py文件如何像控制
- 下一篇: python os 文件操作 getcw