一、FileManagement简介

为满足个人日常文件管理需求而诞生的实用小工具库,非常简单

实际效果与使用方法,详见视频:

python做工具 python做一些好用的小工具_列表生成式

视频简介中包含github站外链接,可沿着网线爬过去。

python做工具 python做一些好用的小工具_列表生成式_02

二、开发环境

1、开发语言:Python 3

2、IDE:PyCharm

3、版本管理工具:git

4、远程版本库:https://github.com/apollo315/FileManagement

python做工具 python做一些好用的小工具_列表生成式_02

三、代码编写前

1、需求背景

wallpaper图片文件过多,需要简单整理,想用程序自动将图片文件转储到文件夹中,每个文件夹存50个文件

2、开发思路

动态移动和创建文件夹

1)只要当前目录下还有文件要处理,就一直循环;

2)文件夹从1开始计数,若满了就创建新文件夹;

?3)移动文件到相应文件夹下

python做工具 python做一些好用的小工具_列表生成式_02

四、代码详解

代码文件:

FileMgt_move_file_into_folder.py(主要代码)

tools_file.py(分离出常用工具代码,方便以后复用和代码积累)

1、首先,设置要整理的文件夹路径、文件夹容量;

python做工具 python做一些好用的小工具_列表生成式_05

注意文件夹路径前最好加"r",标明此字符串为原生字符串,不进行转义。

2、设置结束标志

因为文件夹在动态创建,不方便统计准确的循环次数,所以这里用while循环而非for循环,while循环的话,我们要知道何时结束,故设置一个布尔型变量complete,作为标志位。

当所有文件都处理完成时,就是结束之时:

python做工具 python做一些好用的小工具_python做工具_06

get_file_count方法(详见tools_file.py)统计文件夹中文件个数,当文件夹中文件个数为0时,说明已经处理完毕,可以退出流程了。

3、用来转储的容器文件夹从1开始计数(folder_name),若满了就创建新文件夹(跳出当前循环,进入下次while循环);

4、创建容器文件夹,简单改造os.mkdir,使其在文件夹已存在时不报错

python做工具 python做一些好用的小工具_字符串_07

5、移动文件到文件夹

python做工具 python做一些好用的小工具_python做工具_08

只有当前容器文件夹未满时,移动文件到当前容器文件夹;否则,切换到下个容器文件夹处理。

get_file_list方法(详见tools_file.py)获取文件夹下文件列表(过滤文件夹),用到了列表生成式,可以让代码变得非常简洁:

python做工具 python做一些好用的小工具_python做工具_09

有关列表生成式的学习,可以参考:廖雪峰的Python教程->高级特性->列表生成式

6、自定义工具库的引用

因为把方法get_file_list、get_file_count、my_mkdir都分离出来,放在了tools_file.py文件中,所以在FileMgt_move_file_into_folder.py中使用时,需要先将工具库文件导入

python做工具 python做一些好用的小工具_while循环_10