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

相关文章
|
11天前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
21天前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
51 20
|
27天前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
|
28天前
|
存储 JSON 对象存储
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
|
1月前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
6月前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
99 1
|
8月前
|
存储 Python 内存技术
python WAV音频文件处理—— (1)读写WAV文件
python WAV音频文件处理—— (1)读写WAV文件
210 14

热门文章

最新文章

推荐镜像

更多