api——》将.doc文件转成.docx文件后缀,且仅需要输入单个文件绝对路径

代码:#

复制代码
 1 # # -*- coding:utf-8 -*-
 2 #读取docx中的文本代码示例
 3 import docx
 4 from win32com import client as wc
 5 from pyhanlp import *
 6 import time
 7 import re
 8 import eventlet#导入eventlet这个模块
 9 import shutil
10 word = wc.Dispatch('Word.Application')
11 #将doc转成docx
12 def doSaveAas(doc_path,docx_path):
13     # time_start = time.time()
14     print("MMMMMMMMMMMMMMMMMMMMMMMMMMMMM")
15     eventlet.monkey_patch()#必须加这条代码
16     with eventlet.Timeout(10, False):  # 设置超时时间为2秒
17         # print("*$$$$$$$$$$$$$$$$")
18         # time.sleep(2)
19         # print("^^^^^^^^^^^^")
20         doc = word.Documents.Open(doc_path)  # 目标路径下的文件
21         # print("@@@@@@@@@@@@")
22         doc.SaveAs(docx_path, 12, False, "", True, "", False, False, False, False)  # 转化后路径下的文件
23         doc.Close()
24         print("《《《《《《《《《《《《《《《《《《《《《《《《《《《《《")
25         # time_end = time.time()
26         # restart(time_start,time_end,20)
27 #单个文件:将相对路径转换乘绝对路径,同时调用转换文件进行转换,同时再顺便删除之前的文件
28 def File_doc2docx(file_path):
29     print("********************************************************************************************")
30     try:
31         print("文件路径:"+file_path)
32         file_last_name=re.split(r'\.',file_path)
33         print(file_last_name)
34         if 'doc' in file_last_name :
35             doSaveAas(file_path,file_path+'x')
36             # os.remove(file_path)
37     except:
38         print()
39 #移动文件
40 def remove_file(Dir_path,To_dirpath):
41     i = 0
42     for file_name in os.listdir(Dir_path):
43         print("********************************************************************************************")
44         try:
45             print("文件名:" + file_name)
46             file_path = os.path.join(Dir_path, file_name)
47             print("文件后缀:" + os.path.splitext(file_name)[1])
48             if os.path.splitext(file_name)[1] == '.docx':
49                 i = i + 1
50                 abs_file_path = os.path.abspath(file_path)
51                 abs_to_file_path=os.path.abspath(os.path.join(To_dirpath, file_name))
52                 shutil.move(abs_file_path,abs_to_file_path)
53                 print(i, " 绝对路径:" + abs_file_path)
54                 print(i, " 目标绝对路径:" + abs_to_file_path)
55 
56         except:
57             continue
58 if __name__ =="__main__":
59     File_doc2docx(r"E:\Tomcat\webapps\基于合同纠纷知识图谱构建及应用\\upload\原告.doc")
复制代码

 

posted @   博二爷  阅读(225)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示
CONTENTS