利用python批量修改word文件名的方法示例


Posted in Python onOctober 17, 2017

前言

最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完毕的文件的文件名全丢了,所有的文件只有代号,如下面的图:

利用python批量修改word文件名的方法示例

几万个文件这要是手动的改得要改到明年。所以便动手写了一个python的脚本程序来代替这种繁杂的操作。

实现分析

想让程序来理解我的word文档里到底是什么内容是不可能的了,但是好在我的word文档内容都有标题,大部分的标题正好就是这个文档的文件名,于是我便打算把文档的标题当作文件名,而文件名大部分都是内容的第一段,于是思路便有了。于是开始写程序开干。

实现方法

首先需要安装python-docx库,直接通过pip安装:  pip install python-docx

具体的程序如下:

# -*- coding: utf-8 -*-
"""
NameChange1.0
 
This is a program that automatically modifies
 the name of an word document.
 
 author:fanghao
"""
from docx import Document
import os
 
#这个是放所有待修改的word文件的目录
dir_1 = "C:\\Users\\visg\\Desktop\\4"
filenames = os.listdir(dir_1)
 
#自动修改
for a in range(len(filenames)):
  print(filenames[a])
  dir_docx = dir_1 +"\\"+ filenames[a]
  try:
    document = Document(dir_docx)
  except:
    print("error")
  else:
    new_name = document.paragraphs[0].text + '.docx'
    try:
      os.rename(dir_1 + os.sep + filenames[a],dir_1 + os.sep + new_name)
    except(FileNotFoundError,FileExistsError,OSError):
      print("FileNotFoundError")

具体的目录自己修改下就可以了,这里我直接跳过了哪些名字改后重复的文件。

但是有点坑的地方是恢复出来的文档有的是docx,有的是doc文档,docx文档可以通过以上的方法来改名,但是doc文档便出现了问题。于是便只能先把doc文档转成docx文档,然后再用上述的方法来修改。怎么把doc转成docx,这里有一篇博客,一个大牛写了个比较利好的插件可以很好的实现(http://blog.sina.com.cn/s/blog_5488e3a90100u8ux.html),亲测好用!

注意:上述的方法对于大部分的word文档是可以的,但是有些文档由于格式等自身原因,无法进行修改,对于这些文档可以直接手动修改。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
推荐下python/ironpython:从入门到精通
Oct 02 Python
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
python实现根据给定坐标点生成多边形mask的例子
Feb 18 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
django表单中的按钮获取数据的实例分析
Jul 31 Python
Django内容增加富文本功能的实例
Oct 17 #Python
Python通过future处理并发问题
Oct 17 #Python
python3设计模式之简单工厂模式
Oct 17 #Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 #Python
python版简单工厂模式
Oct 16 #Python
Python实现扩展内置类型的方法分析
Oct 16 #Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 #Python
You might like
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
php的一个登录的类 [推荐]
2007/03/16 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
2009/08/07 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python Property属性的2种用法
2015/06/21 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
一套C#面试题
2013/10/09 面试题
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
未婚证明范本
2015/06/15 职场文书
律师催款函范文
2015/06/24 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python