利用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入门前的第一课 python怎样入门
Mar 06 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
python常用排序算法的实现代码
Nov 08 Python
opencv3/C++图像像素操作详解
Dec 10 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
python生成任意频率正弦波方式
Feb 25 Python
解决reload(sys)后print失效的问题
Apr 25 Python
python如何建立全零数组
Jul 19 Python
Python的collections模块真的很好用
Mar 01 Python
Python中的np.argmin()和np.argmax()函数用法
Jun 02 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
php session处理的定制
2009/03/16 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
JS类的封装及实现代码
2009/12/02 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
Vue自定义事件(详解)
2017/08/19 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
编辑硕士自荐信范文
2013/11/27 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
自主招生教师推荐信
2014/05/10 职场文书
小学生差生评语
2014/12/29 职场文书
市场总监岗位职责
2015/02/11 职场文书
护士求职自荐信范文
2015/03/04 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
Spring整合Mybatis的全过程
2021/06/28 Java/Android