Python基础:文件分类

在实现文件分类之前,我们先来熟悉下实现该功能所需要的类库与函数

1. 类库函数介绍

os库中的 os.walk(file_dir)os.listdir(file_dir)函数:

  • os.listdir(file_dir) 适用于目录下只有文件而没有文件夹的情况
    	for filename in os.listdir(file_dir):
    		print(filename);
    
    其函数返回只包含文件或文件夹的名字
  • os.walk(file_dir) 适用于目录下包含文件夹及文件的情况
    	for root,dirs,files in os.walk(file_dir):
    		print(root);
    		print(dirs);
    		print(files);
    
    其函数返回值为一个包含了dirpath,dirnames,filenames的三元组,其中dirpath为文件路径的字符串,dirnames为该路径下的所有文件夹组成的集合,filenames为该路径下所有的文件名组成的集合
  • os.path.splitext(file_path) 分离文件名与扩展名
    	tmp = os.path.splitext(filename);
    	print(tmp);
    
    其函数返回值为包含了文件名与扩展名的一个元组(filename,fileextension)
  • os.mkdir(dir_name) 创建文件夹

shutil库中shutil.move(src,dst)函数

  • shutil.move(src,dst)src移动到dst目录中
2. 源代码
	import os
	import shutil
	def file_name(file_dir):
		for root,dirs,files in os.walk(file_dir):
			if len(files) != 0:
				for file in files:
					tmp = os.path.splitext(file)[-1][1:];
					dir_name = "E:/python Workspace/" + tmp;
					if os.path.exists(dir_name):
						if not os.path.exists(dir_name+"/"+file):
							print(file);
							shutil.move(root+"/"+file,dir_name);
					else:
						os.mkdir(dir_name);

	file_name_list("E:/python Workspace/maven-central");

将一个文件夹中的所有文件,按照文件后缀名进行分类,把具有相同扩展名的文件移动到相应的文件夹中

你可能感兴趣的:(python)