作者 by Doubt-Fact /
写这篇文章是因为,好久没发公众号,怕冻结了, 今天在收作业的时候,顺手写了一个根据姓名整理文件的小工具,觉得挺有意思,就分享给大家,水一篇推文。
你是否经常为如何高效地整理学生作业或大量文件而犯愁?当面对需要按照姓名等进行分类的大量文件时你是否感到头晕目眩?这里我就这款小工具的原理进行介绍,如果只需要使用该软件,可直接跳到最后↓
要实现这个功能,首先需要知道三个内容文件源
姓名(整理分类的关键词)
目标路径
我们的目的就是从文件原始文件夹中按照关键词把文件复制到目标路径中去。
那么我们就可以开始开始着手尝试了,这里我选择易于使用且库很多的Python
通过前面的分析我们知道,我们需要对文件进行操作,这里我们就直接引入两个库os
和shutil
,它们可以让我们方便的进行文件操作
import os
import shutil
接着我们定义一下我们要查找的关键词,可以将它们储存在列表中
names = ['张三','李四']
其他部门就很清晰了,直接遍历源文件夹,如果目标文件夹中存在名称为关键词的文件夹则将名称中含有关键词的文件移入其中,如果没有,则新建该文件夹并移入文件。
话不多说,直接上示例代码Python
:
import os # 导入os模块,用于与操作系统交互
import shutil # 导入shutil模块,用于高级文件操作
# 源文件夹路径
source_folder = 'path/source' # 定义源文件夹路径
# 需要查找的姓名列表
names = ['张三','李四'] # 定义需要查找的姓名列表
# 遍历姓名列表
for name in names: # 遍历姓名列表中的每个姓名
# 创建以姓名命名的目标文件夹
destination_folder = os.path.join('path/destination', name) # 定义以姓名命名的目标文件夹路径
if not os.path.exists(destination_folder): # 如果目标文件夹不存在
os.makedirs(destination_folder) # 则创建目标文件夹
# 遍历源文件夹中的文件和子文件夹
for root, dirs, files in os.walk(source_folder): # 遍历源文件夹中的每个文件和子文件夹
for file in files: # 遍历源文件夹中的每个文件
if name in file: # 如果文件名中包含当前遍历的姓名
source_file_path = os.path.join(root, file) # 定义源文件的完整路径
destination_file_path = os.path.join(destination_folder, file) # 定义目标文件的完整路径
# 复制文件到目标文件夹
shutil.copy2(source_file_path, destination_file_path) # 使用shutil模块复制文件到目标文件夹
软件如图所示
我用tkinter为其套了个GUI,
这是使用通义千问
为它写的简要说明:
一、软件介绍
文件复制工具是一款基于Python和Tkinter库开发的桌面应用程序,旨在帮助用户快速查找并复制特定姓名命名的文件到相应的姓名命名的文件夹中。用户可以通过图形用户界面(GUI)轻松选择源文件夹、目标文件夹以及包含姓名的TXT文件。
二、功能特点
用户可自由选择源文件夹和目标文件夹。
支持导入包含姓名的TXT文件,每行一个名字。
自动创建以姓名命名的目标文件夹,并将源文件夹中包含该姓名的文件复制到相应的目标文件夹中。
提供友好的GUI界面,操作简单易用。
三、使用步骤
启动软件:双击运行软件。
选择源文件夹:点击“选择源文件夹”按钮,打开文件对话框,选择需要查找和复制文件的源文件夹。
选择目标文件夹:点击“选择目标文件夹”按钮,打开文件对话框,选择存放复制后文件的目标文件夹。
导入姓名文件:如果需要使用自定义的姓名列表,可以点击“选择姓名文件”按钮,打开文件对话框,选择包含姓名的TXT文件。每行应只有一个姓名。
开始复制:确认源文件夹、目标文件夹和姓名列表无误后,点击“开始复制”按钮,程序将自动查找源文件夹中包含指定姓名的文件,并将其复制到相应的目标文件夹中。
完成提示:复制过程结束后,程序将显示一个信息消息告知用户复制已完成。
下载
文件复制工具.zip: https://url34.ctfile.com/f/40984834-996497263-583e87?p=8918 (访问密码: 8918)
或者点击“阅读原文”查看
mkdir xx
。在Windows中,我们可以在文件资源管理器内打开目标文件夹,双击地址栏,输入cmd
即可打开批处理程序。如mkdir 张三
即会在当前目录下生成一个名为“张三”的新文件夹。我们可以使用表格工具快速的构造出大量命令,大模型时代,也可以使用ai生成命令。感谢支持~
73!
评论已关闭