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文件夹中!