文件整理不得不先提一下正则表达式
送上链接:
python :re模块基本用法

一.列出文件夹下的所有文件

用到的库os
Python os.path() 模块 详解 附算例

os.walk()用法

[ (当前目录列表),(子目录列表),(文件列表)]os.walk(树状结构文件夹名称)
os.walk()返回一个由3个tuple类型的元素组成的列表。
索引值为0的表元素是文件夹名称,据此可以知道当前在处理的文件夹是哪一个。
索引值为1的表元素是下一层文件夹列表,用来了解在此文件夹中还有几个下层文件夹,分别叫什么名字。
索引值为2的元素是本文件夹内所有的文件列表,列出此文件夹中所有的文件名。
由返回值的列表数据,组合出所有往下的树状目录结构的内容。

import os
list_all=[]#初始化一个空列表
for root ,dirs,files in os.walk(r'C:\Users\Shineion\Desktop\新建文件夹'):for name in files:file_path=os.path.join(root,name)#包含路径的文件file_name=os.path.split(file_path)[-1]list_all.append(file_name)
print(list_all)

如果文件夹里含有子文件夹,子文件夹有文件。程序无影响,一样可以读取出所有文件名。

二.使用正则re修改文件名

import os
import re#首先定义规则,如我们需要把所有的图片名提取出来并修改名字pattern=re.compile(r'.+\.png')i=1
for root ,dirs,files in os.walk(r'C:\Users\Shineion\Desktop\新建文件夹'):for name in files:file_path=os.path.join(root,name)#包含路径的文件名matching=pattern.search(file_path)#匹配图片if matching:os.rename(file_path,os.path.split(file_path)[-2]+ '/{}.png'.format(i))i+=1print('修改成功')

说明

代码 含义
os.path.split(path) 把路径分割成 dirname 和 basename,返回一个元组
os.rename 传入两个参数,左边旧文件名(包含路径的文件名),第二个参数包含路径的新文件名

os.path.split(file_path)[-2]:[-2]:是获取图片路径(除去名字那部分)

之前写过另一个版本的文件重命名
:python 批量修改图片名(也可以用来批量修改文件名)

三.批量删除和复制文件

1.批量复制文件

算例:我们将原始文件夹下的PDF复制到新的文件夹:D:\余登武测试1

首先 D:\余登武测试1 ,需要手动新建

import os
import re#首先定义规则,如我们需要把所有的pdf文件pattern=re.compile(r'.+\.pdf')for root ,dirs,files in os.walk(r'C:\Users\Shineion\Desktop\新建文件夹'):for name in files:file_path=os.path.join(root,name)#包含路径的文件print(file_path)matching=pattern.search(file_path)#匹配pdfif matching:command_line='copy %s D:\\余登武测试1' % file_path.replace('/','\\')os.system(command_line)print('复制成功')

os.system(command_line)调用cmd来执行复制文件。
cmd复制文件命令:
copy 源文件 目的路径

复制好的文件

试过几次后,发现有时复制会失败,失败的文件名含有字母。全字母可以。

2.批量删除文件

删除原始文件夹下的pdf

指令os.remove(文件)

import os
import re#首先定义规则,如我们需要把所有的pdf文件pattern=re.compile(r'.+\.pdf')for root ,dirs,files in os.walk(r'C:\Users\Shineion\Desktop\新建文件夹'):for name in files:file_path=os.path.join(root,name)#包含路径的文件print(file_path)matching=pattern.search(file_path)#匹配pdfif matching:os.remove(file_path)print('删除成功')

查看原始文件夹,发现pdf文件已删除

文件篇介绍完啦。送上之前的Word,Excel 邮件篇 链接
python自动化办公:excel篇,从此做表不加班。
python自动化办公:word篇。职场高手不是梦。
python自动化办公:邮件篇 (定时邮件问候女票so easy)


电气专业的计算机萌新,写博文不容易。如果你觉得本文对你有用,请点个赞支持下,谢谢。

python自动化办公:文件篇(自动整理文件,一键完成)相关推荐

  1. python 批量移动文件_[Python] 自动化办公 批量命名和移动文件

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 这篇文章能学到的主要内容: 基于 os glob 和 shutil ...

  2. Python自动化办公之 Excel 自动绘制图表

    今天的主题是 Excel,相信大家都比较熟悉吧.而且我相信,大家在日常使用 Excel 的时候,肯定会遇到很多重复繁琐的工作,因为我也同样遇到过.这个时候我通常都会思考下,有没有办法让繁琐的事情变得简 ...

  3. Python 自动化办公:Excel 自动绘制图表

    今天的主题是 Excel,相信大家都比较熟悉吧.而且我相信,大家在日常使用 Excel 的时候,肯定会遇到很多重复繁琐的工作,因为我也同样遇到过.这个时候我通常都会思考下,有没有办法让繁琐的事情变得简 ...

  4. 【python自动化办公】好用的在线网站推荐解决pdf格式转化、文字提取、图片质量增强、抠图等

    目录 前言 1. 学习python自动化办公目的 2. 以往学习内容 3. 资料来源 1. 文档在线格式转化--ALL TO ALL 2. PDF在线工具--PDF24 Tools 3. PDF工具合 ...

  5. Python自动化办公:word文件操作教程

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家完整的介绍了用python操作excel的几个库:xlrd.xlwt.openpyxl. 山月也已经整理好了,还没 ...

  6. Python自动化办公学习- 获取文件夹下的所有文档的名字并存储到Excel

    Python自动化办公学习- 获取文件夹下的所有文档的名字并存储到Excel 这是我第一次学习使用csdn发布学习笔记,如有版权侵犯,引用不当的地方,请立即提示我,我会删除,谢谢. 笔记中如有解释错误 ...

  7. python文件整理程序_Python实现自动整理文件的脚本

    前言 工作上的文档和资料好几个月没整理了,因为平常太忙都是随手往桌面丢.整个桌面杂乱无章全是文档和资料.几乎快占满整个屏幕了,所有我必须要整理一下了.但是手动整理太费时间了,于是我想到了python. ...

  8. python自动化办公——定制化将电子签名批量签写到PDF文件

    python自动化办公--定制化将电子签名批量签写到PDF文件 文章目录 python自动化办公--定制化将电子签名批量签写到PDF文件 1.安装依赖 2.需求分析 3.代码 1.安装依赖 首先需要下 ...

  9. python自动化办公:邮件篇 (定时邮件问候女票so easy)

    前言和准备工作 如果你能找到一个要看邮件的女票哈,本文能帮你用程序实现在每天不同时间段给女友定时给女友发消息,不错过早上,中午.晚安! 而你自己却可以玩游戏,不管这回事. 你告诉我看邮件的女生少,别着 ...

最新文章

  1. idea 执行java maven,IDEA的run maven方式启动步骤详解
  2. oracle11g之管理oracle数据库笔记(理论基础知识)
  3. 通过Matlab发送邮件要注意的问题
  4. hive 结构metastone_基于MySQL元数据的Hive的安装和简单测试
  5. mybatis if-else(写法)
  6. 在Ubuntu 14.04(Trusty Tahr)上安装Plesk
  7. 研究自动驾驶技术的算法需要哪些知识?
  8. 怎么让envi中影像背景为0_eCogniton波段权重设置——基于ENVI的波段信息量计算
  9. http keepalive原理
  10. css三大样式(行内样式)
  11. 【excel入门学习】
  12. 2022中秋股市复盘随笔
  13. 苹果手机如何一键备份手机里的照片和视频?
  14. <Java>使用commons.io修改文件内容(中文标点符号改成英文)
  15. 微信小程序的key值
  16. Bark – 给自己的 iPhone 发推送提醒,简单开源且免费
  17. Scapy使用文档中文版
  18. Google Chrome浏览器出现:您目前无法访问 XX.XX.XX.XX,因为此网站发送了 Google Chrome 无法处理的杂乱凭据。
  19. ps计算机软件专用报告,PS笔记 计算机软件及应用 IT计算机 专业资料.docx
  20. 游戏场景和关卡怎么设计

热门文章

  1. web.py——运行错误【AttributeError: ‘StaticApp‘ object has no attribute ‘directory‘】
  2. 【笔记】spring的注解回顾,springboot-restful项目结构介绍 springboot-freemarker ⼯程配置详解
  3. Java16-day07【Map(概述、特点、功能、遍历)、HashMap集合练习、集合嵌套、Collections、模拟斗地主升级版】
  4. MySQL数据库安装-Windows10为例【超级详细安装过程(每一步的截图)、检测安装是否成功、登录数据库并查看版本号、将MySQL添加到环境变量中、在命令行窗口操作数据库】
  5. 微信小程序 基础2【条件渲染、swiper组件、生命周期、发起请求API】
  6. Android TextView 高亮字体并添加点击事件
  7. 【MRCTF—Web】做题+复现记录
  8. Jarvis OJ web(一)
  9. 4.使用pnglib读写png图片
  10. CookiePolicy 原理解析