利用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读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
简单了解Django模板的使用
Dec 20 Python
Python求解任意闭区间的所有素数
Jun 10 Python
使用python 3实现发送邮件功能
Jun 15 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
用Python配平化学方程式的方法
Jul 20 Python
详解python播放音频的三种方法
Sep 23 Python
PyCharm 专业版安装图文教程
Feb 20 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
Mar 19 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
用Python实现Newton插值法
Apr 17 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
javascript定义变量时加var与不加var的区别
2014/12/22 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
javascript 解决浏览器不支持的问题
2016/09/24 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
使用next.js开发网址缩短服务的方法
2020/06/17 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
Python实现随机选择元素功能
2017/09/14 Python
Python用for循环实现九九乘法表
2018/05/31 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
Python变量及数据类型用法原理汇总
2020/08/06 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
COSETTE官网:奢华,每天
2020/03/22 全球购物
学校安全工作制度
2014/01/19 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
鸿星尔克广告词
2014/03/21 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
工作失职检讨书500字
2014/10/17 职场文书