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

作者:zutterhao 时间:2023-03-15 00:05:12 

前言

最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完毕的文件的文件名全丢了,所有的文件只有代号,如下面的图:

利用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文档是可以的,但是有些文档由于格式等自身原因,无法进行修改,对于这些文档可以直接手动修改。

来源:http://www.cnblogs.com/zutterhao/p/7678523.html

标签:python,批量修改,word文件名
0
投稿

猜你喜欢

  • python环境下安装opencv库的方法

    2022-03-22 10:11:24
  • python 容器总结整理

    2021-03-20 16:52:08
  • Python使用迭代器捕获Generator返回值的方法

    2022-11-25 09:40:35
  • 简单的前端js+ajax 购物车框架(入门篇)

    2024-04-23 09:29:52
  • 最新python 字符串数组互转问题

    2023-07-07 18:34:06
  • asp的access数据库备份 压缩 恢复及清理数据库函数

    2008-10-31 12:36:00
  • Sql Server 2008完全卸载方法(其他版本类似)第1/2页

    2024-01-14 01:20:09
  • 浅析python 中大括号中括号小括号的区分

    2021-06-15 15:14:16
  • Python常用类型转换实现代码实例

    2022-05-20 06:03:43
  • 推荐四款可视化工具(解决99%的可视化大屏需求)

    2022-05-06 03:37:39
  • JavaScript实现弹出DIV层同时页面背景渐变成半透明效果

    2024-04-30 10:09:27
  • python处理图片之PIL模块简单使用方法

    2023-06-25 21:42:05
  • 安装配置Zabbix来监控MySQL的基本教程

    2024-01-17 11:35:26
  • 详解Golang中select的使用与源码分析

    2024-05-09 14:52:08
  • 浅析Flask如何使用日志功能

    2023-06-17 17:18:21
  • Vue Socket.io源码解读

    2024-06-05 15:28:35
  • 超简单使用Python换脸实例

    2021-07-31 17:03:36
  • sql无效字符 执行sql语句报错解决方案

    2024-01-13 01:40:26
  • Python字符串类型及格式化问题

    2023-12-30 21:49:46
  • sql使用cast进行数据类型转换示例

    2024-01-14 07:42:11
  • asp之家 网络编程 m.aspxhome.com