# -*- coding:utf-8 -*-
import codecs
import xml.etree.ElementTree as ET
import sysdefaultencoding = 'utf-8'
if sys.getdefaultencoding() != defaultencoding:reload(sys)sys.setdefaultencoding(defaultencoding)
# 默认情况下,Python采用的是ascii编码方式,将Python的默认编码方式修改为utf-8tree = ET.parse('test.tmx')
root = tree.getroot()
body = root[1]
txtfile = codecs.open('target.txt', 'w', 'utf-8')
for item in body:try:bs = item[0][0].textzh = item[1][0].textbs = bs.decode('utf-8')zh = zh.decode('utf-8')txtfile.write(bs + "\t" + zh + "\n")except Exception as ex:print ex.messagecontinuetxtfile.close()

以上方法能够很快遍历小型的xml和tmx,对于大型文件,直接读入建文档树,内存可能会爆炸,查了一些资料,像是分块处理之类的能够解决,小白没看懂,直接用最简单粗暴的方法,当作普通文件一行一行读入之后正则匹配提取内容

xmlfile = codecs.open("test.xml", 'r', 'utf-8')
txtfile = codecs.open("target.txt", 'w', 'utf-8')
line = xmlfile.readline()
while line:result = re.search('<tuv xml:lang="bs">', line)if result is not None:bs = re.sub('<.*?>', "", line)bs = bs.strip()bs = bs.decode('utf-8')txtfile.write(bs+"\t")else:result = re.search('<tuv xml:lang="zh">', line)if result is not None:zh = re.sub('<.*?>', "", line)zh = zh.strip()zh = zh.decode('utf-8')txtfile.write(zh+"\n")line = xmlfile.readline()xmlfile.close()
txtfile.close()

以上方法太过粗暴,会受很多因素影响,比较合理的办法是先识别tuv标签头作为一对语句的开始,匹配到tuv关闭标签代表这对语句的结束

记录 || Python | 提取xml/tmx文件中的文本内容相关推荐

  1. python查找并修改文件中的内容_如何使用Python搜索和替换文件中的文本?

    如何使用Python搜索和替换文件中的文本? 如何使用Python 3搜索和替换文件中的文本? 这是我的代码:import osimport sysimport fileinputprint (&qu ...

  2. 200826-C语言打印文件中的文本内容

    1. Description 在桌面上创建一个txt文件,输入一些文本内容,我们的任务是把文本内容打印出来. 在编程之前,关于一些函数的定义我们需要了解下. fopen fopen的函数原型为: FI ...

  3. java:获取后缀为doc、docx、xls、xlsx、ppt、pptx、pdf、xml的文件中的文本

    目录 pom 代码 结果 pom <dependency><groupId>org.apache.poi</groupId><artifactId>po ...

  4. 使用python提取所有word文件中的所有图片

    目录 前言 代码 GIF示例 附:doc转docx 代码 前言 办公中,偶尔会碰到一种情况,需要提取word文档中的图片,决定写这样一款工具自动提取图片. 关于脚本的使用: 情景1:如果你拿到的是一个 ...

  5. itextsharp 获取文本_利用iTextSharp提取PDF文件中的文本内容

    最近测试中需要对比两个PDF文件的内容,当然只是文字没有图表的,但是没有现成的工具可用.于是我的想法是先把PDF转换为Text,然后再对比Text的内容.现在问题的关键变成了如何提取PDF中的文本,在 ...

  6. python 知乎 合并 pdf_实例4:用Python提取不同PDF文件中的页面合并进新的PDF文件...

    公司船务部一个重要任务就是需要准备每单货物的发票,从系统导出发票时是默认存为一个PDF文档,在打印的时候,有多少个文件,就需要点多少次"打印".如果能够将当天的发票PDF档合并在一 ...

  7. Python如何访问Excel文件中的文本框?

    求救

  8. Python使用pdfminer3k提取PDF文件中的文本

    推荐教材: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年12月第11次印刷,山东省一流 ...

  9. 批量提取 srt 字幕文件中的文字

    概要:相信经常与视频处理打交道的小伙伴对字幕文件一定不陌生.字幕文件一般来说会包含字幕序号.播放时间轴与具体的字幕内容,经常用于在视频播放的时候在对应的时间显示相应的字幕内容.字幕文件通常会有多种类型 ...

最新文章

  1. 在 C 中引用汇编语言定义的 .globl 变量
  2. 在Visual Studio中使用用例图描述系统与参与者间的关系
  3. HD2 电容屏不灵怎么办?
  4. 如何使用CNN进行物体识别和分类_可能我们之前都想错了:CNN的图像分类策略其实出奇的简单呢!...
  5. mysql 5.7.17 64位_Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程
  6. Ural_1030. Titanic
  7. mysql binary like,在MySQL中为BINARY LIKE操作建立索引
  8. kpw3刷安卓教程2019_买kindle paperwhite4的别急,或许3更好用,因为3可以刷安卓!...
  9. 你熟悉的矢量图形制作软件ai cc 2019 mac完美直装版——Illustrator CC 2019 for Mac 23.0.3
  10. 通过Redis实现数据的交集、并集、补集
  11. 使用 jsonp解决跨域问题,在vue中成功调用心知天气api
  12. SAP ABAP 业务开关和 SAP 电商云的 Feature Level
  13. 单元格内容分列多行_excel如何将同一个单元格的多行内容拆分
  14. 破解人脸识别被判七年!打击黑产,鼓励人脸识别技术健康发展
  15. 项目笔记 【调查问卷】
  16. Hbuilder x css样式编写无提醒
  17. sci论文分区是看中科院还是JCR
  18. tp5中渲染页面将时间戳转换为日期时间格式(Y-m-d H:i:s)
  19. 利用VBScript写一个定时任务弹窗-提醒休息或喝水
  20. android绘制心形,Android中的心形按钮

热门文章

  1. BPDC1000-DE回馈式电子负载常见问答
  2. 机器学习实战笔记——第十章
  3. flex结合Lcds整合spring
  4. 软件测试计划与实施,软件测试实施计划书模板(通用版).doc
  5. ganymed ssh-2 for java_如何利用Ganymed SSH-2模拟SSH操作
  6. Tomcat配置ip限制访问
  7. 人脸识别 无法打开相机 笔记本_window10 hello 人脸识别无法启动相机的问题
  8. 一起来学字节码插桩:从分析class文件结构开始
  9. 华为笔记本linux系统怎么装win10,华为MagicBook笔记本怎样安装win10系统的操作方法...
  10. 新手入门教程,从0开始入手APIcloud(二)