python rtf转txt_将DOC、RTF格式文件批量转为TXT格式文件

Windows 下将目录下所有文件下的文件 拷贝到一个目录中:搜索"."

安装python 及 win32com模块 pip install pypiwin32

创建LDA_RTF_TXT.py

from glob import glob

import shutil

import os

import warnings

warnings.filterwarnings(action='ignore',category=UserWarning,module='gensim')

import win32com

import win32con

import win32gui

import codecs

from win32com.client import Dispatch

import pythoncom

import os

import sys

dataset_loca=sys.argv[1]

dataset_loca3=sys.argv[2]+'/'

class MSOffice2txt():

def __init__(self, fileType=['doc','ppt']):

self.docCom = None

self.pptCom = None

pythoncom.CoInitialize()

if type(fileType) is not list:

return 'Error, please check the fileType, it must be list[]'

for ft in fileType:

if ft == 'doc':

self.docCom = self.docApplicationOpen()

def close(self):

self.docApplicationClose(self.docCom)

def docApplicationOpen(self):

docCom = win32com.client.Dispatch('Word.Application')

docCom.Visible = 1

docCom.DisplayAlerts = 0

docHwnd = win32gui.FindWindow(None, 'Microsoft Word')

win32gui.ShowWindow(docHwnd, win32con.SW_HIDE)

return docCom

def docApplicationClose(self,docCom):

if docCom is not None:

docCom.Quit()

def doc2Txt(self, docCom, docFile, txtFile):

doc = docCom.Documents.Open(FileName=docFile,ReadOnly=1)

doc.SaveAs(txtFile, 2)

doc.Close()

def translate(self, filename, txtFilename):

if filename.endswith('doc') or filename.endswith('docx'):

if self.docCom is None:

self.docCom = self.docApplicationOpen()

self.doc2Txt(self.docCom, filename, txtFilename)

return True

else:

return False

files = glob(dataset_loca)

oldfile=[]

count=0

msoffice = MSOffice2txt()

for file_name in files:

tmpp=file_name

tmpp=tmpp.split('\\',2)[-1]

tmpp=tmpp.split('.',1)[0]

tmpp=tmpp.replace(' ','_')

shutil.copyfile(file_name,dataset_loca3+tmpp+'.doc')

count=count+1

msoffice.translate(dataset_loca3+tmpp+'.doc', dataset_loca3+tmpp+'.txt')

在运行过程中,需要输入两个参数:第一个为转换文件DOC、RTF的源目录的绝对地址;第二个为转换后的TXT格式文件存放的绝对地址。

转换示例:

python LDA_RTF_TXT.py D:/2019/*.doc D:/2020

将D:/2019/*.doc路径下的所有doc格式文件批量转换为TXT文件存放至D:/2020路径下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录常用工具

查看没有用过的资源 Improving Your Code with lint 转载于:https://www.cnblogs.com/a0000/p/4443712.html

UA Web挑战会议:针对初创公司的SpringIO

在本周,我在“后端”部分的UA Web挑战会议上发表了讲话。 我在演讲中选择了一个奇怪的话题-“面向初创企业的SpringIO”。 结果是什么? 我将在下面总结。 在过去三年中,我开发了各种个人Web项目。 我再也没有称它们为“初创企业”&#xff0…

前端开发必备的1个CSS框架

常言道:工欲善其事,必先利其器,项目紧,框架还是很有必要的。 1. Bootstrap 最初被称为Twitter Blueprint的Bootstrap,是作为内部团队使用的工具而创建的。它是最著名的前端框架之一。自公开发布以来,Boot…

C语言杂记1

C语言杂记 注意signed int 与 unsigned int 之间的比较,与运算因为当int 型变量为-1时很可能被升级成无符号整型,就导致取反1这种运算的产生,出现无法控制的很大的数。 malloc(strlen(str))绝对错误地语句,考虑字符串需要1. NULL …

python 小说分析_谁还没看过几本金庸小说?用Python分析一下当年最爱看的主角是谁...

jieba用起来非常简单,短短几行代码就完成了分词工作(下图),可是...仔细一看发现哪里不对了“段誉”作为一个姓名没有被单独分出来,而是和其他一些动词连在一起,另外也有一些角色名字被拆分成了两个甚至更多的单词,例如…

【APICloud系列|13】移动端适配通揽

一、为什么要移动端适配? 一般情况下设计稿的设计师按照 375 的尺寸设计,然而,在现在移动终端(就是手机)快速更新的时代,每个品牌的手机都有着不同的物理分辨率,这样就会导致,每台设备的逻辑分辨率也不尽相同,此时 375 的设计稿,如果想要还原那基本是不可能了,因为如…

初级程序员应该怎么办?

你现在工作迷茫?不防看看这几条建议 01、吃透一门编程语言 这个技能看起来似乎没有必要强调,毕竟程序员不懂一种编程语言也说不过去啊。我之所以再次强调是怕你“贪心”,以为技多不压身就拼了命的学很多种编程语言。 有个大二的学生就曾经问我:“你好呀,老哥,有个问题…

存根类 测试代码 java_有关为旧版代码创建存根的更多信息–测试技术7

存根类 测试代码 java在我的上一个博客中 ,我谈到了如何处理行为不佳的不可测试的 (1) SitePropertiesManager 类,以及如何通过提取接口来创建存根。 但是,如果由于旧类的源代码已被锁定在第三方JAR文件中而无法访问它…

skywalking使用方法_skywalking 6.2配置相关和使用

1、关于日志和项目名配置: 日志可在探针agent.config里面配置也可以在外面配置 在外面配置方式为: -javaagent:/data/path/skywalking-agent.jarlogging.file_nameagent_passport.log,logging.dir/data/applogs/skyagent/ -Dskywalking.agent.service_namepassport由于是docker…

【APICloud系列|14】xcode下载地址

下载地址:https://developer.apple.com/download/more/ 这个是使用苹果Mac下载xcode用于上架appstore打包的软件。 Windows的Xcode:在PC上安装Xcode的5种方法 参考帖子:https://blog.csdn.net/qq_36666115/article/details/86485305

kail利用msf工具对MS12-020漏洞进行渗透测试

kail利用msf工具对MS12-020漏洞进行渗透测试 MS12-020全称Microsoft Windows远程桌面协议RDP远程代码执行漏洞 kail利用msf工具对MS12-020漏洞进行渗透测试: 实验环境: 工具:metasploit 靶机两台:windows 7sp1和kali2020 攻…

float在python中的书写形式错误的是_在Python3.7.1中,编写简单的GAN时,“TypeError:”float“对象不能解释为整数”错误...

我对Python和编程是全新的。我试图编写一个简单的GAN来使用Keras数据集(参见下面的教程超链接)。我收到两个警告,然后是一个错误:TypeError: float object cannot be interpreted as an integer.任何帮助都将不胜感激。在详细信息:Python 3.7…

将25k行C#转换为Java的经验教训

由于各种原因,我最近完成了一个将复杂的财务应用程序从C#转换为Java的项目。 港口的原因大部分是非技术性的,相反,这是有关企业的一项战略举措。 这是一次有趣的经历,我在此过程中吸取了一些经验教训,可以…

Spark K-Means

K-Means(K均值) 介绍 K-Means是被应用的最广泛的基于划分的聚类算法,是一种硬聚类算法,属于典型的局域原型的目标函数聚类的代表。算法首先随机选择k个对象,每个对象初始地代表一个簇的平均值或者中心。对于剩余的每个…

【APICloud系列|30】苹果MAC电脑取消辅助功能-语音识别

方法:快捷键 “commandF5”即可。 原因是不小心出现这个辅助功能,导致我进入苹果商店输入密码不能正常切换大小写,快捷键 “commandF5”就可以正常使用

kail利用msf工具对ms17-010(永恒之蓝)漏洞入侵渗透Win7

kail利用msf工具对ms17-010(永恒之蓝)漏洞入侵渗透Win7 前言: 提到操作系统漏洞,大家肯定听说过耳熟能详的永恒之蓝(MS17-010)了,他的爆发源于WannaCry勒索病毒的诞生。 该病毒是不法分子利用…

mysql 删除版本信息_linux 删除mysql

写作背景明天项目上线,今天晚上在客户的机房进行网站的部署,在安装mysql的时候出现了一个问题,就是死活安装不上,说已经存在mysql,最后分析错误信息才知道,原来是centos 6.3 自带安装了mysql 5.1,因为我是通…

微信连接WIFI并关注公众号的方法

分享一个改造路由器来实现微信连wifi关注公众已经成为一种高效的引流方法。 前提是先有自己的路由器、认证的公众号(服务号或订阅号)、开通过门店小程序。 1.进入公众号后以此选择“微信连wifi”→“设备管理”→详情,拿到公众号的三个参数…

《你的灯亮着吗》读后感1

《你的灯亮着吗》这本书主要讲了几个实际的问题,在还没读这本书时对这本书有一定的了解,所以在读这本书时也是有一定的目的,在这本书中可以学到好多的东西,在作者分析问题和解决问题中我们可以找到好多新奇的思路。 我已读这本书有…

kali利用msf工具对ms08-067漏洞入侵靶机(win xp2)

kali利用msf工具对ms08-067漏洞入侵靶机(win xp2) 漏洞简介 MS08-067漏洞将会影响Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。 如果用户在受影响的系统上收到特制的 RPC 请求&…