利用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 subprocess模块学习总结
Mar 13 Python
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
Jul 15 Python
浅谈Python生成器generator之next和send的运行流程(详解)
May 08 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 Python
python方法生成txt标签文件的实例代码
May 10 Python
python事件驱动event实现详解
Nov 21 Python
在Python中过滤Windows文件名中的非法字符方法
Jun 10 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
python中如何进行连乘计算
May 28 Python
详解python的变量缓存机制
Jan 24 Python
Keras保存模型并载入模型继续训练的实现
Feb 20 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 md5下16位和32位的实现代码
2008/04/09 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
php中Ctype函数用法详解
2014/12/09 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
PHP中的表达式简述
2016/05/29 PHP
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
alert出数组中的随即值代码
2014/09/25 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
jquery编写日期选择器
2017/03/16 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
Python实现简单的四则运算计算器
2016/11/02 Python
基于python实现简单日历
2018/07/28 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
两则小学生的自我评价分享
2013/11/14 职场文书
接受捐赠答谢词
2014/01/27 职场文书
上课迟到检讨书
2014/02/19 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android