标签:keyword -- env 自己 dal shuff name comm listdir
参考博客:
代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 将一个文件夹下图片按比例分在两个文件夹下,比例改0.7这个值即可
import os
import random
import shutil
from shutil import copy2
trainfiles = os.listdir(‘C:/Users/cozce/Desktop/机器学习/第二次 实验大作业-船舶分类(CNN)/船舶数据(船和非船类)/sea‘)#(图片文件夹)
num_train = len(trainfiles)
print( "num_train: " + str(num_train) )
index_list = list(range(num_train))
print(index_list)
random.shuffle(index_list)
num = 0
trainDir = ‘C:/Users/cozce/Desktop/机器学习/第二次 实验大作业-船舶分类(CNN)/船舶数据(船和非船类)/sea_train‘#(将图片文件夹中的7份放在这个文件夹下)
validDir = ‘C:/Users/cozce/Desktop/机器学习/第二次 实验大作业-船舶分类(CNN)/船舶数据(船和非船类)/sea_test‘#(将图片文件夹中的3份放在这个文件夹下)
for i in index_list:
fileName = os.path.join(‘C:/Users/cozce/Desktop/机器学习/第二次 实验大作业-船舶分类(CNN)/船舶数据(船和非船类)/sea‘, trainfiles[i])
if num < num_train*0.7:
print(str(fileName))
copy2(fileName, trainDir)
else:
copy2(fileName, validDir)
num += 1
另附上批量修改图片名代码:
import os
import re
import sys
path = r"D:\Code\机器学习\VGG16\VGG16_1\Is_ship\train\sea"
fileList = os.listdir(path) # 待修改文件夹
print("修改前:" + str(fileList)) # 输出文件夹中包含的文件
os.chdir(path) # 将当前工作目录修改为待修改文件夹的位置
num = 1 # 名称变量
for fileName in fileList: # 遍历文件夹中所有文件
pat = ".+\.(jpg|PNG|png)" # 匹配文件名正则表达式
pattern = re.findall(pat, fileName) # 进行匹配
print(‘pattern[0]:‘, pattern)
print(‘num:‘, num, ‘filename:‘, fileName)
os.rename(fileName, (‘sea.‘ + str(num)+".png")) # 文件重新命名
num = num + 1 # 改变编号,继续下一项
print("---------------------------------------------------")
sys.stdin.flush() # 刷新
print("修改后:" + str(os.listdir(path))) # 输出修改后文件夹中包含的文件
标签:keyword -- env 自己 dal shuff name comm listdir
原文地址:https://www.cnblogs.com/blog-zhangchongen/p/14948136.html