金狮镖局 Design By www.egabc.com
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() 则是会创建时间、修改时间、访问时间这些也复制过去。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
金狮镖局 Design By www.egabc.com
金狮镖局
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金狮镖局 Design By www.egabc.com
暂无用Python批量把文件复制到另一个文件夹的实现方法的评论...
更新日志
2024年09月23日
2024年09月23日
- Merryland《Merryland》[320K/MP3][69.48MB]
- 苏芮.1991-停在我心里的温柔【福茂】【WAV+CUE】
- 苏慧伦.2020-面面Every.Side.of.Me【相信音乐】【WAV+CUE】
- 群星.1991-不一样的感觉REMIX【宝丽金】【WAV+CUE】
- 银霞.1983-《你那好冷的小手》珍藏纪念版[WAV分轨]
- 银霞.2002-《国语巨星专辑VOL.3》2CD台湾版[WAV+CUE]
- 金池刘罡《昨日情歌HQ》头版限量编号[低速原抓WAV+CUE]
- 段奥娟.2024-23·岁碎念【白米范】【FLAC分轨】
- 顺子.2001-昨日·唯一·更多·顺子自选辑【魔岩】【WAV+CUE】
- 无印良品.1999-私藏三首·原创相对论(EP)【滚石】【WAV+CUE】
- Merryland《Merryland》[FLAC/分轨][170.22MB]
- 庄锭欣 ELKIE《没有你的未来》[320K/MP3][15.78MB]
- 庄锭欣 ELKIE《没有你的未来》[FLAC/分轨][36MB]
- TchaikovskySwanLake,Op.20柴可夫斯基天鹅湖(2013)SACD[Hi-Res]
- 24bit达人艺典《琴歌终极版》整轨WAV+CUE