python实现将多个文件分配到多个文件夹的方法


Posted in Python onJanuary 07, 2019

如下所示:

import os
import shutil

#path of imgr
path = 'D:\\BaiduNetdiskDownload\\newim\\'

#path of folder
folderPath = 'D:\\BaiduNetdiskDownload\\folderSort\\'

peopleNumber = 61
#new 61 folder numbers as sort_folder_number[61]
sort_folder_number = [x for x in range(0,peopleNumber)]

# makedir 61 folders
'''
demo功能说明:
在folderPath处新建60个文件夹,
图片存储在path处
给每个文件夹分配150张图片(将9000张图片平均分配到60个文件夹)

Tips:
1: os.path.join(path1,path2...)
this function is used to combine the path,it returns a path which is 'path1/path2...'

2: os.makedirs(path)
this function is used to make a directory(new folder) in the path param

3: shutil.move(oldPath,newPath)
this function is used to move file from param1 to param 2

4: os.path.exists(path)
this function is used to check the filePath(param1) whether exists
'''
for number in sort_folder_number:
 new_folder_path = os.path.join(folderPath,'%s'%number)#new_folder_path is ‘folderPath\number'

 if not os.path.exists(new_folder_path):
  os.makedirs(new_folder_path)
  print("new a floder named "+str(number)+'at the path of '+ new_folder_path)

#give the img list
file_list = os.listdir(path)

'''define the first foloderNumber'''
folderNumber = 1
print('there are '+str(len(file_list))+' files at the path of '+path)
for i in range(0,len(file_list)):
 old_file_path = os.path.join(path,str(i)+'.jpg')
 if os.path.isdir(old_file_path):
  '''if the path is a folder,program will pass it'''
  print('img does not exist ,path=' + old_file_path+' it is a dir' )
  pass
 elif not os.path.exists(old_file_path):
  '''if the path does not exist,program will pass it'''
  print('img does not exist ,path='+old_file_path)
  pass
 else:
  '''define the number,it decides how many imgs each people process'''
  number = 150 #int(len(file_list)/peopleNumber)
  if(i%number ==0):
   folderNumber +=1
  new_file_path = os.path.join(folderPath,'%s'%(folderNumber))
  if not os.path.exists(new_file_path):
   print('not exist path:'+new_file_path)
   break
  shutil.move(old_file_path,new_file_path)
  print('success move file from '+ old_file_path +' to '+new_file_path)

以上这篇python实现将多个文件分配到多个文件夹的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python字符串处理之count()方法的使用
May 18 Python
Python中map,reduce,filter和sorted函数的使用方法
Aug 17 Python
Python中音频处理库pydub的使用教程
Jun 07 Python
Python简单定义与使用二叉树示例
May 11 Python
Django 限制用户访问频率的中间件的实现
Aug 23 Python
django之静态文件 django 2.0 在网页中显示图片的例子
Jul 28 Python
centos7之Python3.74安装教程
Aug 15 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
python实现ping命令小程序
Dec 28 Python
用python批量下载apk
Dec 29 Python
python爬虫之selenium库的安装及使用教程
May 23 Python
python随机打印成绩排名表
Jun 23 Python
在python中使用with打开多个文件的方法
Jan 07 #Python
python读取文件名并改名字的实例
Jan 07 #Python
Python 调用 zabbix api的方法示例
Jan 06 #Python
使用Django2快速开发Web项目的详细步骤
Jan 06 #Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 #Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 #Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 #Python
You might like
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
2013/06/25 PHP
解析PHP的session过期设置
2013/06/29 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
2020/06/24 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
艾滋病宣传活动总结
2014/05/08 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers