zoukankan      html  css  js  c++  java
  • 利用python批量修改word文件名的方法示例

    利用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文档,然后再用上述的方法来修改。
    注意:上述的方法对于大部分的word文档是可以的,但是有些文档由于格式等自身原因,无法进行修改,对于这些文档可以直接手动修改。
    总结
    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值。

     

  • 相关阅读:
    阅读笔记(四)——《代码整洁之道》1
    阅读笔记(一)——《需求工程——软件建模与分析》一
    数据提取
    HIVE数据清洗练习
    第八周hadoop-MapReduce
    小程序新增页面导航栏
    个人课程总结
    第十六周总结

    排序
  • 原文地址:https://www.cnblogs.com/amengduo/p/9586297.html
Copyright © 2011-2022 走看看