Python基础:文件分类

这篇博客介绍了如何使用Python进行文件分类,讲解了`os`和`shutil`库的相关函数,如`listdir()`、`walk()`用于遍历目录,`splitext()`用于分离文件名和扩展名,以及`mkdir()`和`move()`用于创建目录和移动文件。文章通过源代码展示了如何根据文件扩展名将文件移动到相应文件夹中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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");

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhang L.R.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值