您的位置:首页 > 财经 > 产业 > 计算机网络设计是干什么的_微信公众号运营教程_seo北京_苏州网站建设方案

计算机网络设计是干什么的_微信公众号运营教程_seo北京_苏州网站建设方案

2025/3/12 11:28:53 来源:https://blog.csdn.net/weixin_52297428/article/details/145966495  浏览:    关键词:计算机网络设计是干什么的_微信公众号运营教程_seo北京_苏州网站建设方案
计算机网络设计是干什么的_微信公众号运营教程_seo北京_苏州网站建设方案

任务

你想从 Windows 平台下某个目录树中的各个微软 Word 文件中抽取文本,并保存为对应的文本文件。

解决方案

借助 PyWin32 扩展,通过COM 机制,可以利用 Word 来完成转换:

import fnmatch,os,sys,win32com.client
wordapp = win32com.client.gencache.EnsureDispatch ("Word.Application")
try:for path,dirs,files in os.walk(sys.argv[1]):for filename in files:if not fnmatch.fnmatch(filename,'*.doc'):continuedoc = os.path.abspath(os.path,join(path,filename))print "processing %s" % docwordapp.Documents.Open(doc)docastxt = doc[:-3]+'txt'wordapp.ActiveDocument.SaveAs(docastxt,FileFormat=win32com.client.constants.wdFormatText)wordapp.ActiveDocument.Close()
finally:
#确保即使有异常发生word仍能被正常关闭
wordapp.Quit()

讨论

关于 Windows应用程序的一个有趣的地方是,可以通过COM以及Python 提供的PyWin32 扩展,编写一些简单的脚本对这些应用程序进行控制。这个扩展允许你用Python 脚本来完成各种 Windows 下的任务。本节的脚本,从目录树下的所有的 Word文档(即.doc 文件)中抽取文本,并存为对应的.txt文本文件。通过使用 os.walk 函数,并利用 for循环语句,我们无须递归即可遍历树中的所有子目录。通过 fnmatch.fnmatch函数,可以检查文件名以确认它是否符合我们给出的通配符,这里的通配符是“.doc”一旦我们确认了这是一个 Word 文档,我们就用此文件名和 os.path 来得到一个绝对路径,再用 Word 打开它,存为文本文件,然后关闭。

如果没有安装Word,可能需要完全不同的方法来达成目标。一种可能是使用OpenOMice.org,它也可以载入 Word 文档。另一种可能是使用可以读取 Word 文档的程序,比如 Antiword,其网址是 http://www,winfield.demon.nl/。但这里不准备探讨这两种方式。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com