Python编程案例:文件查找并归类

简介: Python编程案例:文件查找并归类

Python编程案例:文件查找并归类
实际工作和学习中经常遇到文件查找并归类的问题,今天利用Python的相关模块来实现这个功能。例如在一个文件存储的文件夹里存放很多类型的文件,我们需要把其中的动物文件找出来然后移动到动物文件夹内。

运行环境如下:

macOS Monterey Version 12.3.1
Pycharm 2020.1
案例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :4/7/22 2:48 PM
# 文件      :找动物素材.py
# IDE      :PyCharm

'''
使用os.path.join()函数对文件夹拼接
判断文件夹是否存在:os.path.exists()
os.mkdir()函数创建文件夹:os.mkdir('/Users/liuxiaowei/音频文件')
os.path.isdir()函数判断路径是文件夹还是文件,是返回True,不是返回False
shutil.move(srcPath, destPath)函数对文件或文件夹进行移动。接收两个参数,第一个参数是要移动的文件(夹)路径,第二个
参数是目标文件(夹)的路径
'''

import os
# 导入模块,移动文件(夹)
import shutil

# 建立动物文件列表
animal_file_Lst = ['东北虎.jpg', '非洲最美猎豹.jpg', '非洲最美长颈鹿.jpg', '几维鸟.jpg']

# 总的路径赋值给srcPath
srcPath = '/Users/liuxiaowei/awen'

# 定义一个遍历函数
def search_Files(sourcePath):
    # 获取所有文件
    allFiles = os.listdir(sourcePath)
    # 在srcPath下创建animal文件夹
    targetPath = os.path.join(srcPath, 'animal')
    if not os.path.exists(targetPath):
        os.mkdir(targetPath)


    # 遍历文件夹所有文件
    for file in allFiles:
        # 判断文件是否在动物文件列表
        if file in animal_file_Lst:
            # 合并文件和路径赋值给itemPath
            itemPath = os.path.join(sourcePath, file)
            shutil.move(itemPath, targetPath )
            print(f'{file}已移到{targetPath}文件夹中!')

# 主程序
if __name__ == '__main__':
    newPath = os.path.join(srcPath, 'source')
    search_Files(newPath)

运行结果如下:

非洲最美猎豹.jpg已移到/Users/liuxiaowei/awen/animal文件夹中!
几维鸟.jpg已移到/Users/liuxiaowei/awen/animal文件夹中!
非洲最美长颈鹿.jpg已移到/Users/liuxiaowei/awen/animal文件夹中!
东北虎.jpg已移到/Users/liuxiaowei/awen/animal文件夹中!

image.png

相关文章
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
3天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
4天前
|
机器学习/深度学习 存储 算法
探索Python编程:从基础到高级应用
【10月更文挑战第38天】本文旨在引导读者从Python的基础知识出发,逐渐深入到高级编程概念。通过简明的语言和实际代码示例,我们将一起探索这门语言的魅力和潜力,理解它如何帮助解决现实问题,并启发我们思考编程在现代社会中的作用和意义。
|
5天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
1月前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
|
1月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
|
1月前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
|
6月前
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
252 5
|
6月前
|
安全 调度 Python
什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
【2月更文挑战第4天】【2月更文挑战第9篇】什么是Python中的事件驱动编程?如何使用`asyncio`模块实现异步事件处理?
129 0