python整理文件下

embedded/2025/2/28 3:04:15/

我们使用 os.path.join() 函数拼接出文件要移动的目标地址。

并使用 os.path.exists() 函数配合 not 关键字找到未创建的文件夹。

这节课,我们会先创建文件夹,然后再移动文件到目标文件夹。如果文件夹不存在,我们需要先创建文件夹,再移动文件。

创建文件夹可以使用 os.mkdir() 函数:将要创建的文件夹路径作为参数传入函数中即可。

 

os.mkdir("/Users/yequ/Downloads/音频文件")

 加上 os.mkdir(targetPath) 即可创建所有不存在的文件夹。

 在开始正式移动文件到目标文件夹之前,我们需要再思考一个问题。

在代码运行之前,阿文的下载文件夹里已经存在一些分类文件夹了,比如图例中“PDF文件”这个文件夹就是已经存在的。

这样的话,在程序运行时,按目前的逻辑,计算机就会把这个文件夹分类为其他文件,因为这个文件夹没有后缀名。

 我们将要进行判断的文件路径传入到 os.path.isdir() 函数中,如果该路径是文件夹就会返回True,如果不是就返回False。

 要想移动文件,我们需要导入Python中另一个内置的模块 shutil ,然后使用 shutil.move() 函数来对文件进行移动。

shutil.move() 函数可以用来移动文件或文件夹。它接收两个参数,第一个参数是要移动的文件(夹)路径,第二个参数是目标文件(夹)的路径。

python"># 导入shutil模块
import shutil# 准备移动的文件路径
srcPath = "/Users/yequ/Downloads/心动.MP3"# 目标文件夹路径
targetPath = "/Users/yequ/Downloads/音频文件"# 使用shutil.move()函数移动文件
shutil.move(srcPath, targetPath)
python"># 使用import导入os模块
import os# 使用import导入shutil模块
import shutil# 将阿文的下载文件夹路径 /Users/yequ/Desktop 赋值给变量desktopPath
desktopPath = "/Users/yequ/Desktop"# 使用os.listdir()函数获取该路径下所有的文件(夹),并赋值给变量allItems
allItems = os.listdir(desktopPath)# 使用for循环遍历所有文件(夹)
for item in allItems:# 获取文件后缀名extension = os.path.splitext(item)[1].lower()# 定义一个变量targetPath,用来表示准备移动到的文件夹路径targetPath = ""if extension in [".jpg", ".jpeg", ".gif", ".png", ".bmp"]:# 使用os.path.join()函数拼接分类文件夹路径:图片文件# 并赋值给变量targetPathtargetPath = os.path.join(desktopPath, "图片文件")elif extension in [".avi", ".mp4", ".wmv", ".mov", ".flv"]:# 使用os.path.join()函数拼接分类文件夹路径:视频文件# 并赋值给变量targetPathtargetPath = os.path.join(desktopPath, "视频文件")elif extension in [".wav", ".mp3", ".mid", ".ape", ".flac"]:# 使用os.path.join()函数拼接分类文件夹路径:音频文件targetPath = os.path.join(desktopPath, "音频文件")elif extension in [".pdf"]:# 使用os.path.join()函数拼接分类文件夹路径:PDF文件targetPath = os.path.join(desktopPath, "PDF文件")elif extension in [".docx", ".doc"]:# 使用os.path.join()函数拼接分类文件夹路径:Word文件targetPath = os.path.join(desktopPath, "Word文件")elif extension in [".xlsx", ".xls"]:# 使用os.path.join()函数拼接分类文件夹路径:Excel文件targetPath = os.path.join(desktopPath, "Excel文件")elif extension in [".pptx", ".ppt"]:# 使用os.path.join()函数拼接分类文件夹路径:PPT文件targetPath = os.path.join(desktopPath, "PPT文件")else:# 使用os.path.join()函数拼接分类文件夹路径:其他文件targetPath = os.path.join(desktopPath, "其他文件")# 判断当如果目标文件夹不存在if not os.path.exists(targetPath):# 使用os.mkdir()函数创建文件夹os.mkdir(targetPath)# 使用os.path.join()函数拼接desktopPath和文件名# 并赋值给变量itemPathitemPath = os.path.join(desktopPath, item)# 判断当itemPath不是文件夹时。if not os.path.isdir(itemPath):# 使用shutil.move()函数移动文件到targetPath路径shutil.move(itemPath, targetPath)

 


http://www.ppmy.cn/embedded/167700.html

相关文章

陀螺匠·企业助手v1.8 产品介绍

陀螺匠企业助手是一套采用Laravel 9框架结合Swoole高性能协程服务与Vue.js前端技术栈构建的新型智慧企业管理与运营系统。该系统深度融合了客户管理、项目管理、审批流程自动化以及低代码开发平台,旨在为企业提供一站式、数字化转型的全方位解决方案,助力…

基于大数据的家用汽车推荐系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 本基于大数据的家用汽车推荐系统采用B/S架构,数据库是MySQL,网站的搭建与开发采用了先进的Java技术结合爬虫技术、数据可视化等进行编写,使用了Spring Boot框架。该系统从两个对象:由管理员和用户来对系统进行设计构建。前台…

计算机毕业设计SpringBoot+Vue.js汽车票网上预订系统(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

3D Gaussian Splatting(3DGS)的核心原理

3D Gaussian Splatting(3DGS)的核心原理 1. 基本概念 3D Gaussian Splatting(3DGS) 是一种基于 高斯分布的点云表示与渲染技术,核心思想是将三维场景建模为一系列 可学习的高斯分布,每个高斯分布具有以下…

青少年编程与数学 02-010 C++程序设计基础 11课题、程序结构

青少年编程与数学 02-010 C程序设计基础 11课题、程序结构 一、C程序结构二、main函数1. main 函数的基本形式1.1 无参数形式1.2 带参数形式 2. 参数解释3. 示例3.1 无参数形式3.2 带参数形式 4. 编译和运行4.1 编译4.2 运行 5. main 函数的返回值6. 总结 三、预处理指令1. #in…

深入解析Java线程优先级的奥秘

在多线程编程中,线程优先级是一个重要的概念。每个线程都有一个优先级,优先级高的线程在执行时会比优先级低的线程更受青睐。然而,线程优先级的行为可能会因操作系统而异。本文将通过实例来深入探讨Java线程优先级的机制及其在实际编程中的应…

鸿蒙开发深入浅出04(首页数据渲染、搜索、Stack样式堆叠、Grid布局、shadow阴影)

鸿蒙开发深入浅出04(首页数据渲染、搜索、Stack样式堆叠、Grid布局、shadow阴影) 1、效果展示2、ets/pages/Home.ets3、ets/views/Home/SearchBar.ets4、ets/views/Home/NavList.ets5、ets/views/Home/TileList.ets6、ets/views/Home/PlanList.ets7、后端…

2024 年出现的 11 大数据收集趋势

数据收集趋势的出现是对技术进步、企业需求和市场波动的回应,我们对 2025 年的预测涵盖了所有方面。物联网和人工智能等前沿技术将改变组织收集和处理数据的方式,法规将促使它们更加细致地对待数据,而消费者对增强现实和虚拟现实的兴趣将为数…