利用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 相关文章推荐
Python3实现Web网页图片下载
Jan 28 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
Python标准库06之子进程 (subprocess包) 详解
Dec 07 Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 Python
Python获取指定字符前面的所有字符方法
May 02 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
对numpy中向量式三目运算符详解
Oct 31 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
python 模块导入问题汇总
Feb 01 Python
OpenCV-Python实现油画效果的实例
Jun 08 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
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
从0开始学Vue
2016/10/27 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
Node.js爬取豆瓣数据实例分析
2018/03/05 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
python绘制多个曲线的折线图
2020/03/23 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
如何在pycharm中安装第三方包
2020/10/27 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
销售部主管岗位职责
2013/12/18 职场文书
信息与计算科学专业推荐信
2014/02/23 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
ktv筹备计划书
2014/05/03 职场文书
写给父母的感谢信
2015/01/22 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
于丹讲座视频观后感
2015/06/15 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书