# !/usr/bin/env python
# -*- coding: utf-8 -*-
import os
from glob2 import glob
from xml.dom.minidom import parse
import shutil
from imutils import paths
from tqdm import tqdm
import xml
from xml.dom import minidom
import codecs
import cv2
import numpy as np
# 拷贝一个文件夹下所有文件,到另一个目录下, dest 不根据 src 文件夹目录层级来创建,只放到一个目录下
def copyOneFolderAllFile():
src_dir = r''
src_all_file = list(paths.list_files(src_dir))
dest_dir = r''
for src_file in tqdm(src_all_file):
src_dir, src_name = os.path.split(src_file)
dest_path = os.path.join(dest_dir, src_name)
shutil.copyfile(src_file, dest_path)
print('Finish')
import os
import time
copyFileCounts = 0
def copyFiles(sourceDir, targetDir):
global copyFileCounts
print(sourceDir)
print(u"%s 当前处理文件夹 %s 已处理 %s 个文件 " % (
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), sourceDir, copyFileCounts))
for f in os.listdir(sourceDir):
sourceF = os.path.join(sourceDir, f)
targetF = os.path.join(targetDir, f)
if os.path.isfile(sourceF):
# 创建目录
if not os.path.exists(targetDir):
os.makedirs(targetDir)
copyFileCounts += 1
# 文件不存在,或者存在但是大小不同,覆盖
if not os.path.exists(targetF) or (
os.path.exists(targetF) and (os.path.getsize(targetF) != os.path.getsize(sourceF))):
# 2 进制文件
open(targetF, "wb").write(open(sourceF, "rb").read())
print(u"%s %s 复制完毕 "外汇跟单gendan5.com % (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), targetF))
else:
print(u"%s %s 已存在,不重复复制 " % (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), targetF))
if os.path.isdir(sourceF):
copyFiles(sourceF, targetF)
print('Finish')
# 拷贝一个文件夹下所有文件,到另一个目录下, dest 根据 src 文件夹目录层级来创建
def copyDir():
sourceDir = r''
targetDir = r''
copyFiles(sourceDir, targetDir)
# 根据 split_num 的个数,创建 split_num 个文件夹,把数据随机分配到这些文件夹中
def splitFile():
split_num = 9 # 需要分几个文件夹
org_dir = r''
save_root = r''
all_img = list(paths.list_images(org_dir))
random.shuffle(all_img) # 打乱
dir_num = int(len(all_img) / split_num)
num_dir = 0
for i in tqdm(range(len(all_img))):
img_name = os.path.split(all_img[i])[1]
save_dir = os.path.join(save_root, str(num_dir))
if not os.path.exists(save_dir):
os.mkdir(save_dir)
save_path = os.path.join(save_dir, img_name)
org_path = os.path.join(org_dir, img_name)
shutil.copyfile(org_path, save_path)
if ((i + 1) % dir_num) == 0:
num_dir += 1
if num_dir == split_num:
num_dir -= 1
print('Finish')
if __name__ == '__main__':
copyDir()