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

 更新时间:2017年10月17日 10:19:21   作者:zutterhao  
最近因为一些失误,导致恢复的文件名不对,所以就写个python程序,下面这篇文章主要给大家介绍了关于利用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文档是可以的,但是有些文档由于格式等自身原因,无法进行修改,对于这些文档可以直接手动修改。

总结

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

相关文章

  • Python3 sort和sorted用法+cmp_to_key()函数详解

    Python3 sort和sorted用法+cmp_to_key()函数详解

    这篇文章主要介绍了Python3 sort和sorted用法+cmp_to_key()函数详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Python基础之函数嵌套知识总结

    Python基础之函数嵌套知识总结

    今天带大家回顾python基础知识,文中对Python函数嵌套作了非常详细的知识总结,对正在学习python基础的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • python Django编写接口并用Jmeter测试的方法

    python Django编写接口并用Jmeter测试的方法

    这篇文章主要介绍了python Django编写接口并用Jmeter测试,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 关于Python形参打包与解包小技巧分享

    关于Python形参打包与解包小技巧分享

    今天小编就为大家分享一篇关于Python形参打包与解包小技巧分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Caffe卷积神经网络数据层及参数

    Caffe卷积神经网络数据层及参数

    这篇文章主要为大家介绍了Caffe卷积神经网络数据层及参数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python运算符的使用简单介绍

    Python运算符的使用简单介绍

    这篇文章主要介绍了Python运算符的使用简单介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 代码分析Python地图坐标转换

    代码分析Python地图坐标转换

    这篇文章主要介绍了Python地图坐标转换的相关知识点以及分享了相关的代码实例,对此有兴趣的朋友学习下。
    2018-02-02
  • python自动化测试之异常及日志操作实例分析

    python自动化测试之异常及日志操作实例分析

    这篇文章主要介绍了python自动化测试之异常及日志操作,结合实例形式分析了python自动化测试中的异常捕获与日志记录相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • 构建高效的python requests长连接池详解

    构建高效的python requests长连接池详解

    这篇文章主要介绍了构建高效的python requests长连接池详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python中list.copy方法用法详解

    python中list.copy方法用法详解

    这篇文章主要给大家介绍了关于python中list.copy方法使用的相关资料,文中还介绍了python list.copy() 和 copy.deepcopy()区别,需要的朋友可以参考下
    2023-02-02

最新评论