python文件自动分类(5)
完成了文件自动分类的操作后,我们一起来复习下:
| 首先,获取文件夹中所有文件名称,用 os.path.join() 函数拼接出要移动到的目标地址。然后,使用 os.path.exists() 函数判断目标文件夹是否存在,不存在用 os.mkdir() 创建文件夹。再者,使用 os.path.isdir() 函数判断是否为文件夹。最后,当不是文件夹时,使用 shutil.move() 函数移动。 |
|
# 使用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()函数拼接分类文件夹路径:图片文件
# 并赋值给变量targetPath
targetPath = os.path.join(desktopPath, "图片文件")
elif extension in [".avi", ".mp4", ".wmv", ".mov", ".flv"]:
# 使用os.path.join()函数拼接分类文件夹路径:视频文件
# 并赋值给变量targetPath
targetPath = 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和文件名
# 并赋值给变量itemPath
itemPath = os.path.join(desktopPath, item)
# 判断当itemPath不是文件夹时。
if not os.path.isdir(itemPath):
# 使用shutil.move()函数移动文件到targetPath路径
shutil.move(itemPath, targetPath)
相关文章:
python文件自动分类(5)
完成了文件自动分类的操作后,我们一起来复习下: 首先,获取文件夹中所有文件名称,用 os.path.join() 函数拼接出要移动到的目标地址。然后,使用 os.path.exists() 函数判断目标文件夹是否存在,不存在用 os.m…...
【Unity-Lua】音乐播放器循环滚动播放音乐名
前言:Unity中UI节点 图1 如上所示,一开始本来是打算用ScrollView做的,觉得直接计算对应的文本位置就行,所以没用ScrollRect来做,可以忽略Scroll,Viewport这些名字。如下图:需要在一个背景Image…...
宏碁扩展Swift系列,推出四款全新AI笔记本电脑
Acer正在扩展其Swift笔记本产品线,推出四款新型号,每款都内置了AI功能。这些笔记本提供诸如Microsoft Copilot、Acer用户感应技术、Windows Studio效应、PurifiedVoice 2.0和PurifiedView等功能。其他功能还包括Wi-Fi 7和Bluetooth 5.4连接。 我们先来看…...
科研绘图系列:R语言差异基因四分图(Quad plot)
文章目录 介绍加载R包导入数据数据预处理画图参考介绍 四分图(Quad plot)是一种数据可视化技术,通常用于展示四个变量之间的关系。它由四个子图组成,每个子图都显示两个变量之间的关系。四分图的布局通常是2x2的网格,每个格子代表一个变量对的散点图。 在四分图中,通常…...
文字或图案点选坐标点返回
最近看到这篇文章中讲到极验图片验证码破解方案 https://blog.geetest.com/article/65aaaa944edc5ec343ba9f52efef0cdc 其中核心解决步骤如下,作者还贴心的贴出了CNN代码,真是用心良极: step 3:批量下载存储验证图片,…...
硬盘数据恢复软件TOP4榜单出炉,选对方法竟然如此重要
这年头,信息多得不得了,数据对我们来说太重要了。但是,不管是咱们自己还是公司,都可能碰上丢数据的倒霉事,特别是不小心把硬盘里的东西删了。数据一丢,不光可能亏钱,工作和生活也可能受影响。好…...
给自己复盘用的随想录笔记-栈与队列
用栈实现队列 难在出去 232. 用栈实现队列 - 力扣(LeetCode) class MyQueue {private Stack<Integer> A;private Stack<Integer> B;public MyQueue() {Anew Stack<>();Bnew Stack<>();}public void push(int x) {A.push(x);}pu…...
微信小程序跳转到另一个微信小程序
引用:http://www.xmdeal.com/mobanjiaocheng/254.html 第一种方法: wx.navigateToMiniProgram 官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.html wx.navigateToMiniProgram({appId…...
【知识图谱】4、LLM大模型结合neo4j图数据库实现AI问答的功能
昨天写了一篇文章,使用fastapi直接操作neo4j图数据库插入数据的例子, 本文实现LLM大模型结合neo4j图数据库实现AI问答功能。 废话不多说,先上代码 import gradio as gr from fastapi import FastAPI, HTTPException, Request from pydantic…...
《信息技术 云计算 边缘云通用技术要求》国家标准发布,九州未来参编
日前,2024年第17号国家标准公告发布,由全国信标委云计算标准工作组组织制定、九州未来作为行业专家单位参编的《信息技术 云计算 边缘云通用技术要求》国家标准正式获批发布。 边缘云作为云计算技术的有效补充和拓展,能够实现将云计算能力拓展…...
NTFS硬盘支持工具Paragon NTFS for Mac 15.4.44 中文破解版
Paragon NTFS for Mac 15.4.44 中文破解版是一个底层的文件系统驱动程序,专门开发用来弥合Windows和Mac OS X之间的不兼容性,通过在Mac OS X系统下提供对任何版本的NTFS文件系统完全的读写访问服务来弥合这种不兼容性。为您轻松解决Mac不能识别Windows NTFS文件难题…...
66-java 类型擦除
类型擦除是Java类型信息在运行时的一个特性,它发生在泛型类型被擦除成它们的原始类型后,以及在运行时,由于类型擦除,泛型信息不可用。 例如,以下两个泛型类型: List<String> list1 new ArrayList&…...
25考研人数预计下降?这一届考研有哪些新趋势?
2025年考研时间线: 2024年9月:公共课及各院校考试大纲公布; 2024年9月下旬:预报名; 2024年10月:正式报名; 2024年11月:线上/线下确认; 2024年12月中下旬:…...
比尔·盖茨对AI充满信心
The Verge与比尔盖茨进行了关于AI、错误信息和气候变化的对话。 比尔盖茨花费数十亿美元资助他认为将塑造未来的技术——从应对气候变化到消灭疾病。 盖茨在一部新的Netflix系列片《未来之路:比尔盖茨的境界》中深入探讨了这些话题。该系列于9月18日首播ÿ…...
Selenium 实现图片验证码识别
前言 在测试过程中,有的时候登录需要输入图片验证码。这时候使用Selenium进行自动化测试,怎么做图片验证码识别?本篇内容主要介绍使用Selenium、BufferedImage、Tesseract进行图片 验证码识别。 环境准备 jdk:1.8 tessdata&…...
基于云原生向量数据库 PieCloudVector 的 RAG 实践
近年来,人工智能生成内容(AIGC)已然成为最热门的话题之一。工业界出现了各种内容生成工具,能够跨多种模态产生多样化的内容。这些主流的模型能够取得卓越表现,归功于创新的算法、模型规模的大幅扩展,以及海…...
内存泄漏的影响
(1)内存泄漏是什么? 内存泄漏是指程序运行过程中分配的内存没有被正确释放,导致这部分内存无法再次使用,从而造成内存资源的浪费。内存泄漏可能会导致系统性能下降、程序崩溃或者消耗过多的系统资源;内存泄漏通常发生在动态分配的…...
shell变量扩展你知道多少?
1. shell变量扩展 我们知道,${var}的形式可以获取变量var的值,但其实还可以有更多花式玩法。其中~表示用户根目录其实属于 波浪线扩展,这比较常见,不展开介绍了。 下面的每种情况中,word 都要经过波浪线扩…...
Compose中对于KeyEvent的处理
在开发Android TV时,遇到了一个需求,需要对遥控器发出的上下左右按键点击事件做处理。此处我们可以在Modifier.onKeyEvent中对按键事件做处理。此处我写了一个按钮的modifier模板如下。 private val buttonModifier Modifier.onKeyEvent {when {KeyEve…...
OpenXR Monado compositor处理应用layers(cheduled->delivered)
OpenXR Monado compositor处理应用的layer,scheduled->delivered @src/xrt/targets/common/target_instance.c t_instance_create_system @src/xrt/compositor/main/comp_compositor.ccomp_main_create_system_compositor@src/xrt/compositor/multi/comp_multi_system…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
