讲解
1、库:os,shutil.copy
2、代码效果:对指定文件夹内文件等量分配到新的文件夹
3、代码原理:用os.listdir()遍历文件同时用shutil.copy实现复制转存
通过import os模块中提供的功能,可以实现python对操作系统中文件和目录的操作。
- os.path.abspath(path),显示path在操作系统中的绝对路径
- os.path.join(path, x),将path和x拼接成当前操作系统兼容的路径形式
- os.listdir(path),输出当前目录下的文件及子目录为list类型
- os.path.isdir(path) and os.path.isfile(path)判断路径为目录还是文件,注意参数为path,之前在这里出现了很多错误,直接输文件名的话,没有该文件就直接显示False
代码
import os
from shutil import copy
def folder_segmentation(path, new_path):
i = 0
k = 0
save_dir = new_path
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
file_path = path
dir_name = ""#新文件夹命名
pathDir = os.listdir(file_path)
for allDIR in pathDir:
if ((i % 3) == 0):#每3个放置在一个新的文件夹里
k += 1
from_path = os.path.join(file_path, allDIR)
to_path = save_dir + "\\" + dir_name + str(k)
if not os.path.isdir(to_path):
os.makedirs(to_path)
copy(from_path, to_path)
i += 1
if __name__ == "__main__":
path = ""#原文件夹路径
new_path = ""#保存文件夹路径
folder_segmentation(path, new_path)
运行结果
运行前
产生文件夹
文件夹内部效果(我设置的是3个一提取)
总结
到此这篇关于python文件夹分区的文章就介绍到这了,更多相关python文件夹分区内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!