python 将一个目录下word转为txt第三版

原创 2015年11月21日 17:27:24

不多说了,增加了容错性,还避免了中间在用py2exe时关于win32com的问题


# -*- coding: cp936 -*-
'''
Created on 2015年11月21日

@author: lushangqi
'''
#!D:\\My Python\\Trans_to_txt.py
#注意Windows下路径表示 
from win32com import client as wc
import os
import fnmatch


all_FileNum = 0
debug = 0


def Translate(path):
    '''
    将一个目录下所有doc和docx文件转成txt
    该目录下创建一个新目录newdir
    新目录下fileNames.txt创建一个文本存入所有的word文件名
    本版本具有一定的容错性,即允许对同一文件夹多次操作而不发生冲突
    '''
    global debug, all_FileNum
    if debug:
        print path
    #该目录下所有文件的名字
    files = os.listdir(path) 
    #该目下创建一个新目录newdir,用来放转化后的txt文本
    New_dir = os.path.abspath(os.path.join(path, 'newdir'))
    if not os.path.exists(New_dir):
        os.mkdir(New_dir)
    if debug:
        print New_dir
    #创建一个文本存入所有的word文件名
    fileNameSet= os.path.abspath(os.path.join(New_dir, 'fileNames.txt'))
    o=open(fileNameSet,"w") 
    try:
        for filename in files:
            if debug:
                print filename
            #如果不是word文件:继续
            if not fnmatch.fnmatch(filename, '*.doc') and not fnmatch.fnmatch(filename, '*.docx'):
                continue;
            #如果是word临时文件:继续
            if fnmatch.fnmatch(filename, '~$*'):
                continue;
            if debug:
                print filename
            docpath = os.path.abspath(os.path.join(path,filename))
            
            #得到一个新的文件名,把原文件名的后缀改成txt
            new_txt_name = ''
            if fnmatch.fnmatch(filename, '*.doc'):    
                new_txt_name = filename[:-4]+'.txt'
            else:
                new_txt_name = filename[:-5]+'.txt'
            if debug:
                print new_txt_name
            word_to_txt = os.path.join(os.path.join(path, 'newdir'),new_txt_name)
            print word_to_txt
            wordapp = wc.Dispatch('Word.Application')
            doc = wordapp.Documents.Open(docpath)
            #为了让python可以在后续操作中r方式读取txt和不产生乱码,参数为4
            doc.SaveAs(word_to_txt,4)
            doc.Close()
            o.write(word_to_txt+'\n')
            all_FileNum += 1
    finally:
        wordapp.Quit()

if __name__ == '__main__':
    print '''
        将一个目录下所有doc和docx文件转成txt
        该目下创建一个新目录newdir
        新目录下fileNames.txt创建一个文本存入所有的word文件名
        本程序具有一定的容错性
    '''
    print('Enter your Director\'s path:')
    print("路径用\或\\表示均可")
    mypath = raw_input()
    print ('生成的文件有:')
    Translate(mypath)
    print 'The Total Files Numbers = ', all_FileNum
    raw_input()
    




版权声明:本文为博主原创文章,未经博主允许不得转载。

word文档转换为txt-python

__author__ = 'fremcode@gmail.com' # -*- coding: utf-8 -*- import os import sys import fnmatch import...
  • fremcode
  • fremcode
  • 2013年08月29日 16:36
  • 1307

python matplotlib阶段性总结——word转txt、绘图、文件操作

代码说话: # -*- coding: cp936 -*- import os import re import sys import fnmatch import win32com.client ...
  • Fortware
  • Fortware
  • 2016年07月17日 22:33
  • 1869

Python 将一个目录下的所有word文档转为txt

需要下载安装win32com,并且注意要和你的python版本和32bit or 64bit一致 #!D:\\My Python\\Trans_to_txt.py #注意Windows下路径表示 ...
  • wenzhunpu
  • wenzhunpu
  • 2015年10月07日 10:00
  • 494

Python+pywin32批量转换Word文件为PDF文件

代码功能:把当前文件夹中多个Word文件批量转换为PDF文件技术原理:代码实际上是调用了Word的“导出”功能,模拟了手工转换的操作并实现了自动化,要求已正确安装Python扩展库pywin32和Of...
  • oh5W6HinUg43JvRhhB
  • oh5W6HinUg43JvRhhB
  • 2018年01月12日 00:00
  • 25

python如何处理解析word文档doc docx , python-docx,python-docx2txt,zipfile

关于python如何处理word文档doc docx,可以关注 python-docx 和 python-docx2txt 两个项目,python-docx复杂一些,适合创建文档,python-doc...
  • hshl1214
  • hshl1214
  • 2015年12月27日 21:00
  • 8159

python doc word文件转txt、html

下载pywin32 win32com 重点语法: doc.SaveAs(os.path.join(parent,'html',title+'.html') ,8) os.mkdir(o...
  • YMD8005
  • YMD8005
  • 2016年10月18日 19:42
  • 541

Python实例:pdf文档转txt

首先,这是一个比较粗糙的版本,因为已经够用了,而且对pdf的格式不熟悉,所以暂时没有进一步优化。 还有,这是转成txt的,所以如果是有图片的pdf是无法保存图片的。 至于本来就是图片的文本,这里是...
  • u012175089
  • u012175089
  • 2017年04月05日 17:40
  • 2951

python处理txt文件

这两天遇到了一个烦心事,我用python的win32com把word转化到txt,在windows下默认转的格式是ascii,而我用python进行操作时,必然会有问题,python默认的处理中文的字...
  • u010941728
  • u010941728
  • 2016年02月26日 16:09
  • 2294

python 将pdf转换成txt

由于上篇中的一个模块要求是将pdf中的文本内容给读取出来,因为大部分的毕设文档都是pdf格式的,而python自带的file I/O是没法实现从pdf格式的文件中读取内容的,因此需要导入第三方的pac...
  • Tony_Wong
  • Tony_Wong
  • 2014年01月23日 10:56
  • 5252

Python编程入门(第3版),中文完整扫描版

  • 2015年02月19日 20:12
  • 27.42MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python 将一个目录下word转为txt第三版
举报原因:
原因补充:

(最多只允许输入30个字)