-
2020-12-04 08:30:40
0 前言
大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。
我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下。
1 环境说明
Win10 系统下 Python3,编译器是 Pycharm。
需要安装 shutil 这个第三方库,直接 pip install shutil 就可以了。
2 代码
先导入需要用到的库,os 是用来切换路径和创建文件夹的。
shutil 是用来复制黏贴文件的
import os
from shutil import copy
i 用来计算文件数量,当 i 是 200 的倍数时,k 会 +1;k 用来计算新建文件夹的数量,方便创建文件夹。
save_dir 是想把复制出来的文件存放在的路径
# i 用来计算文件数量,k 用来计算新建文件夹的数量
i = 0
k = 0
# 想保存到的根路径
save_dir = r'F:\666'
# 如果目录不存在,则创建
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
dir_name 是新的文件夹的命名;file_path 是想拆分的文件夹所在路径,也就是一大堆文件所在的路径。
os.listdir(file_path) 是获取指定路径下包含的文件或文件夹列表,在 Unix, Windows 下使用。
# 想保存的名字
dir_name = "junzi"
# 想拆分的文件夹所在路径
file_path = r'F:\ALL'
# 获取 file_path 下的文件和文件夹列表
# 因为 file_path 里面没有文件夹,所以不处理有文件夹的情况
pathDir = os.listdir(file_path)
获取到了列表,那就一个一个进行遍历。0 是 200 的倍数,所以一开始 k 的值会 +1 。
allDir 是文件的名字+后缀名。from_path 就是当前这个被遍历出来的文件的完整路径,to_path是这个文件要复制到的路径。
接着 copy(from_path, to_path) 完成复制黏贴,最后 i 自增1.
for allDir in pathDir:
if( (i%200) == 0):
print("200 的倍数,新建一个文件夹")
k += 1
print(allDir)
from_path = os.path.join(file_path, allDir)
to_path = save_dir + "\\" + dir_name + str(k)
# 如果 to_path 目录不存在,则创建
if not os.path.isdir(to_path):
os.makedirs(to_path)
copy(from_path, to_path)
i += 1
3 相关说明
shutil 的 copy() 是复制到一个新的地方,创建时间、修改时间、访问时间都是新的,copy2() 则是会创建时间、修改时间、访问时间这些也复制过去。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
更多相关内容 -
Linux复制一个或多个文件到另一个目录下
2021-12-16 00:53:43 -
如何批量复制多个文件到多个目录中(批量复制文件,多对多文件高效操作的方法)
2020-07-03 10:30:29把两种图片选中后,拖到“要复制的文件和文件夹”里那一栏,工具会显示出这两个图片的路径在上面, 当然,也可以点右边那一排里面“添加文件”的按钮把我们两个可爱的图片添加进去。 接下来就是目标位置,我就把左边...首先,需要用到的这个工具:
文本账号文件免安装便捷管理神器
现在开始说具体操作
1、首先,我准备了3个文件夹和两个可爱的图片:
当然,在实际使用的时候肯定不止这些,我这里只是演示一下下。2、然后打开这个工具,按下CTRL+5,切换到文件批量复制的功能模块。
把两种图片选中后,拖到“要复制的文件和文件夹”里那一栏,工具会显示出这两个图片的路径在上面,
当然,也可以点右边那一排里面“添加文件”的按钮把我们两个可爱的图片添加进去。接下来就是目标位置,我就把左边1、2、3命名的这3个空的文件夹选中,拖到“复制到的文件夹的目录”,就显示这3个文件夹的路径了在上面了,也可以用右边的按钮添加
3、下面的“复制选项”一栏默认就行了,如果有其他要求,根据里面选择就好了,挺简单的。点击里面的“开始复制”按钮,出现提示,点“是”,然后不用动,等它运行结束就好了。
(如果操作的文件几千几万个的话,过程会要一点时间但不卡,我试过,嘿嘿,就是想知道性能怎么样)
4、然后就完成了,这些文件夹里面也有这些可爱的图片了,非常省事,操作简单
而且操作的这些文件路径可以保存,能够反复操作,适合经常要批量处理文件的事情
下载地址:
文本账号文件免安装便捷管理神器https://pan.baidu.com/s/1FYj8NxOdl7i9SHnCrFR3jA
提取码:qwu2 -
linux cp 一个文件复制多份
2019-05-31 10:06:16linux cp 一个文件复制多份 要问我这样做有什么用呢? 比如说现在我要做的对自己的多线程并发迁移数据功能进行测试。 直接使用cp命令与xargs命令结合 echo '3 4 5 6 7' | xargs -n 1 cp 1 把文件1复制5份 ,名字...linux cp 一个文件复制多份
要问我这样做有什么用呢?
比如说现在我要做的对自己的多线程并发迁移数据功能进行测试。需要模拟y用户环境,得到许多大文件。
直接使用cp命令与xargs命令结合echo '3 4 5 6 7' | xargs -n 1 cp 1
把文件1复制5份 ,名字分别叫做 3 4 5 6 7
当然,想复制几份都行,太多了写shell脚本,循环即可。
或者使用java创建空文件(秒建,不过空文件不一定符合需要)
java创建文件查看如下链接
https://blog.csdn.net/w4187402/article/details/90711350 -
Linux下同时复制多个文件
2018-09-04 09:58:49使用cp命令:需要注意的是这几个文件之间不要有空格 cp /home/usr/dir/{file1,file2,file3,file4} /home/usr/destination/ 参考文件:https://www.cnblogs.com/zhonghuasong/p/7352758.html... -
linux复制文件到另一个文件夹或目录
2021-05-09 05:11:101. 前言本文主要讲解Linux系统如何使用命令行工具把文件复制到另一个文件夹或者目录。2. cp命令的选项和功能copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。... -
linux下复制一个文件到多个文件夹
2019-07-20 10:48:37-n 1 告诉 xargs 命令每个命令行最多使用一个参数,并发送到 cp 命令中。 cp 用于复制文件。 -v 启用详细模式来显示更多复制细节。 如果是将指定文件复制到当前路径下的所有文件夹: echo ./* |xargs -n 1 cp -v d ... -
linux cp复制多个文件操作
2020-04-30 14:41:39复制多个文件 想把多个文件如a,b,c复制到文件夹file_a中,使用: cp a b c file_a,即可。 复制一个文件夹下的多个文件 如果我们想把文件夹file_a中的多个文件,如a,b,c复制到文件夹file_b中,该怎么办呢? ... -
将一个excel文件中多个sheet页“拆分“成多个“独立“excel文件
2021-08-02 14:10:22“文件” ---- “选项” ----“自定义功能区” ---- “开发工具” 2. 打开visual basic 3. 选择这个"thisworkbook",双击 4. 输入命令 Private Sub 分拆工作表() Dim sht As Worksheet Dim MyBook As ... -
linux中把一个文件的内容复制到另一个文件的末尾
2018-05-31 18:52:39问题描述: 比如11的文件内容是: hello 22的文件内容是: ...将22的文件内容复制到11文件的末尾,11文件的效果就是: hello world 解决办法: cat 22 >> 11 >>的意... -
将多个excel文件合并为:一个excel文件的多个sheet页【方法技巧】
2021-01-20 12:10:58大家平时在进行excel表格文件处理时,经常碰到需要多个excel文件合并成一个excel表格文挡,并且每个文档都保存在一个单独的sheet工作表中,一个一个的复制粘贴又费时又费力。 不过,由于excel支持VBA代码操作,了解... -
linux 下怎么复制一个文件到另外一个目录并且重命名
2020-12-21 21:18:58在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz一、目录创建在/home/wwwroot目录下新建一个sinozzz123的文件夹mkdir /home/wwwroot/sinozzz123二、目录复制1。把/home/wwwroot/... -
Ansible 利用copy模块复制多个文件
2018-11-06 21:05:08今天写了一个Ansible自动化安装mysql的脚本,用copy模块复制多个文件的时候格式总是出错。。。最后通过查看文档解决了。 官方文档的循环部分的章节:... -
c++复制把文件从一个路径复制到另一个路径
2018-10-25 18:00:11#include <WINDOWS.H> int main() ...char * source = “c://windows//notepad.exe”;...//目标文件 CopyFile(source, destination, FALSE);//false代表覆盖,true不覆盖 return 0... -
一个意外错误使您无法复制该文件错误 0x80071ac3怎么回事
2021-03-07 06:21:12通常我们使用移动硬盘都会复制某些文件软件储存,最近一位用户的移动硬盘复制文件时遇到了错误,系统提示“一个意外错误使您无法复制该文件,错误 0x80071ac3”,这是什么错误呢?这该怎么解决呢?以下给大家提供了... -
Linux 中复制文件到多个目录中
2017-01-14 05:44:07概述在学习 Linux 的...在本篇中,我们会用一个简单的方法在 Linux 中用一个命令来将目录复制到多个文件夹中。通常写法在 Linux 中,cp 命令常被用于从一个文件夹中复制文件到另一个文件夹中,最简单的语法如下:# cp -
怎样把多个excel文件合并成一个
2021-12-19 06:12:431、打开电脑,然后打开文件夹将这些excel文件都复制到一个文件夹下。注意,文件夹下不要有其他的excel文件;2、切换到【数据】菜单,点击【新建查询】,选择【从文件】下的【从文件夹】;3、接下来输入刚刚的文件夹... -
cmd命令之批量复制文件到多个不同文件名的文件
2017-03-25 22:16:18cmd命令之批量复制文件到多个不同文件名的文件 -
Linux命令复制粘贴目录文件到另一个目录:
2018-11-22 17:15:11Linux命令复制粘贴目录文件到另一个目录: ******采用绝对路径将day4目录及其目录下的多个子目录及其子文件复制到目录one02目录文件下命名为day4: -
WPS Excel将多个Excel文件合并到一个Excel文件中(sheet)
2021-10-22 14:50:341、随便打开一个Excel文件,找到数据,找到合并表格,然后点击多个工作簿 2、点击添加文件 3、根据路径找到并且选择要汇总的Excel文件 4、选中要汇总的文件 -
使用Python将多个文件夹下的多个文件复制到制定文件夹中(汇总)
2018-03-16 23:45:53一、问题 工作习惯问题,经常将每日工作建立一个文件夹,并把当天的工作内容存放到一个规范命名(通常就是一个日期名字)的文件夹内,直到有一天突然需要将所有文件合并到一个文件夹下面压缩发送给领导的时候,懵逼... -
windows bat批处理复制文件操作(提取同类型文件到另一个文件夹)
2019-04-01 10:38:56同学让我帮忙处理数据,但是有365天的数据也就是365个文件夹,整体文件好几十个G,但是每个文件夹中有用的文件只有几个且很小,于是就准备写一个脚本文件对其进行批处理,反正也没学过,就搜集资料搞吧,搞好了详细... -
如何用Shell复制一个文件到多个文件夹
2014-07-17 22:47:11经常需要复制一个文件到几个文件夹里,本来想做个Script,顺便学一下Python -
怎么在arcgis中把一个图层复制到另一个图层上
2021-01-14 16:22:571、图层A、B的shapfile文件需要放在同一个文件夹D中,且B要包含A的要素类型(如L是线性要素,图层B就要有线性要素)。2.Arcmap操作界面的左侧“内容列表”中...1、添加图层到ARCGIS。2、ARCGIS菜单栏空白处点击鼠标... -
scp复制多个文件及通配符问题
2019-09-17 09:28:56复制本地多个文件 scp foo.txt bar.txt username@remotehost:/path/directory/ 复制远程多个文件 scp username@remotehost:/path/directory/\{foo.txt,bar.txt\} . 参考:http://w... -
linux 复制一个文件到多个目录 使用echo 、xargs 、cp
2018-01-26 16:53:461. 复制一个文件到多个目录 echo /root/dir1 /root/dir2 /root/dir3 | xargs -n 1 cp -v /root/a.txt 参考: 1.如何在 Linux 中复制文件到多个目录中 2.xargs命令常用工具命令 -
如何把一个文件压缩成几个固定大小的文件及解压缩
2017-12-25 11:39:54本文简单介绍了WinRAR如何把一个文件压缩成几个固定大小的文件以及如何解压这几个文件。 1、压缩 1 > 鼠标选中待压缩文件-右键-添加到压缩文件。 2 > 在弹出的“压缩文件和参数”窗口-切分压缩分卷... -
如何解决有时一个CAD里的图形无法复制到另一个CAD文件里?
2021-01-04 10:39:17一般高版本的CAD复制到低版本CAD中是不能简单用ctrl+c,ctrl+v的。 如果要复制,在低版本CAD中插入–块--浏览–选择CAD图形文件插入,就会出现提示指定插入点。 不能复制粘贴的原因多种...2、把复制的对象制作成外部块 -
python实现将多个文件内容合并到一个文件
2020-03-16 15:51:39有时候需要将数十个甚至上百个txt或其他格式的文件内容合并到一起,如果一个个复制粘贴显然太费功夫,因此可以用代码实现文件内容的合并。 代码示例: import os import linecache def combine_file(): # ... -
linux复制/剪切文件到另一个文件夹
2018-10-31 11:27:50复制/拷贝: cp 文件名 路径 cphello.csv ./python/ml:把当前目录的hello.csv拷贝到当前目的python文件夹里的ml文件夹里 ...cp file1 file2复制一个文件 cp dir/* .复制一个目录下的所有文件...