python文件处理:每隔一定数目删除;文件重命名;删除多余xml文件;将文件夹线所有文件平均分配到其他文件夹
生活随笔
收集整理的這篇文章主要介紹了
python文件处理:每隔一定数目删除;文件重命名;删除多余xml文件;将文件夹线所有文件平均分配到其他文件夹
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding:utf-8 -*-'''
fileName:
createTime:
modifyTime:
description:written by donghao
'''import os
import glob
import shutil
import random
import threadingimport cv2# 每隔一定數目刪除
def dele(al, j):# deletefor i, name in enumerate(al):if i % 4 !=0:xn = name.split('.')[0] + '.xml'if os.path.exists(xn):os.remove(xn)if os.path.exists(name):os.remove(name)print("\r({0:}) : {1:0>5d} / {2:0>5d}".format(j, i, len(al)), end='', flush=True)# 文件重命名
def change ():# change namedlist = [3, 4]for d in dlist:pre = ''.join([str(d), '_'])pat = ''.join([str(d), '/'])al = os.listdir(pat)for na in al:if na.split('_')[0] == '0':continueoriN = ''.join([pat, na])newN = ''.join([pat, pre, na])os.rename(oriN, newN)print(f'{oriN} -----> {newN}')# 刪除多余xml文件
def deleXML(al, j):# delete xmlfor i, name in enumerate(al):im = name.split('.')[0] + '.jpg'if os.path.exists(im):passelse:os.remove(name)print("\r({0:}) : {1:0>5d} / {2:0>5d}".format(j, i, len(al)), end='', flush=True)# 將文件夾線所有文件平均分配到其他文件夾
def distribute (al, j):nameList = ['dh', 'gz', 'mzt', 'donghao', 'hsy', 'zxy', 'zjj', 'new1', 'new2', 'new3']for name in nameList:tempL = random.sample(al, 200)for i, f in enumerate(tempL):base = os.path.basename(f)df = os.path.join(name, base)shutil.move(f, df)im = f.split('.')[0] + '.jpg'base = os.path.basename(im)dim = os.path.join(name, base)shutil.move(im, dim)al.remove(f)print("\r({0:}) : name is {1:}, {2:0>5d} / {3:0>5d}, {4:0>5d}".format(j, name, i, len(tempL), len(al)), end='', flush=True)print()if __name__ == '__main__':j = 'total'al = glob.glob(os.path.join(j, "*.xml"))distribute(al, j)# j = 'total'
# al = glob.glob(os.path.join(j, "*.xml"))
# deleXML(al, j)# threadlist = []
# for j in ['total']:
# al = glob.glob(os.path.join(str(j), "*.jpg"))
#
# t = threading.Thread(target=dele, args=(al, j,)) # target是要執行的函數名(不是函數),args是函數對應的參數,以元組的形式存在
# t.start()
# threadlist.append(t)
#
# for t in threadlist:
# t.join()
?
總結
以上是生活随笔為你收集整理的python文件处理:每隔一定数目删除;文件重命名;删除多余xml文件;将文件夹线所有文件平均分配到其他文件夹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch 中的 @ 和 * 运算符
- 下一篇: MEGA 视频目标检测 数据集 : IL