1. # -*- coding: utf-8 -*-
  2.  
  3. import sys
  4. import time
  5.  
  6. CTRL_A='\x01'
  7. CTRL_B='\x02'
  8.  
  9. thedate = ''
  10. thetime = ''
  11. sn = ''
  12. asr = ''
  13. intent = ''
  14. nlp = ''
  15. domain = ''
  16.  
  17. def speechHandle(inputFile,outputFile):
  18. print "********** speechHandle " + inputFile + " start **********"
  19. try:
  20. input = open(inputFile, 'r')
  21. output = open(outputFile, 'a+')
  22. while True:
  23. line = input.readline()
  24. if len(line.strip()) < 1:
  25. break
  26. fileds = line.split(CTRL_A)
  27. fieldsLen = len(fileds)
  28. if fieldsLen == 6:
  29. for fIndex in range(0,6):
  30. kv = fileds[fIndex].split(CTRL_B)
  31. kvLen = len(kv)
  32. if kvLen == 2:
  33. if kv[0].strip()=='time':
  34. unixtimestamp = kv[1]
  35. timetmp = time.localtime(int(unixtimestamp)/1000)
  36. thedate = time.strftime("%Y-%m-%d", timetmp)
  37. thetime = time.strftime("%H:%M:%S", timetmp)
  38. elif kv[0].strip()=='id':
  39. sn = kv[1]
  40. elif kv[0].strip()=='asr':
  41. asr = kv[1]
  42. elif kv[0].strip() == 'intent':
  43. intent = kv[1].strip()
  44. elif kv[0].strip() == 'domain':
  45. domain = kv[1]
  46. lineOut = thedate + CTRL_A + thetime + CTRL_A + sn + CTRL_A + asr + CTRL_A + intent + CTRL_A + domain + "\n"
  47. output.write(lineOut)
  48. else:
  49. print line
  50. except IOError as ioerr:
  51. print 'File Error' + str(ioerr)
  52. exit(-1)
  53. finally:
  54. input.close()
  55. output.close()
  56.  
  57. print "********** speechHandle " + inputFile + " end **********"
  58.  
  59. if __name__ == '__main__':
  60. if len(sys.argv) != 3:
  61. print "Please input inputFile and outputFile"
  62. else:
  63. speechHandle(sys.argv[1], sys.argv[2])

供参考

Python以不可见字符作为列分割符的更多相关文章

  1. Android 用空格作为分割符切割字符串

    项目中有需要用到空格作为分割符切割字符串,进而转为List. String wordStore = edWord.getText().toString(); String[] word = wordS ...

  2. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  3. python print输出unicode字符

    命令行提示符下,python print输出unicode字符时出现以下 UnicodeEncodeError: 'gbk' codec can't encode character '\u30fb ...

  4. Python核心编程--学习笔记--6--序列(上)字符串

    本章研究Python中的序列:字符串.列表和元组.因为这些类型其实都是由一些成员共同组成的一个序列整体,所以我们把它们统称为序列.序列的存储结构可以表示为: 1 序列 序列类型有着相同的访问模式:按下 ...

  5. python每次处理一个字符的三种方法

    python每次处理一个字符的三种方法 a_string = "abccdea" print 'the first' for c in a_string: print ord(c) ...

  6. Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组

    // 用指定字符或字符串分割输入字符串,返回包含分割结果的数组 // @function [parent=#string] split // @param string input 输入字符串 // ...

  7. python之旅:字符编码

    一 了解字符编码的知识储备 一 计算机基础知识 知识储备:cpu.内存.硬盘 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在 ...

  8. php用explode,可以提供多个字符作为分割符来进行分割数组吗?

    explode — 使用一个字符串分割另一个字符串, 它的函数原型如下: array explode ( string $delimiter , string $string [, int $limi ...

  9. python中的格式化字符

    python中的格式化字符在python中我们会遇到一个问题,问题是如何输出格式化的字符串.我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据 ...

随机推荐

  1. 解决ios微信内置浏览器触发事件有问题方案

    你的问题原因是事件冒泡导致找不到或者找到多个事件导致的, 你这样去写! $(“#div1").on("click",".k1",function(){ ...

  2. Zuul使用Ribbon配置自动重试

    spring cloud的版本不断演进,导致很多配置的配置方式不断改变,有时某个配置在一个版本里面默认是true,后边一升级默认成了false,这点让人有点不爽. 言归正传 0.所使用版本 sprin ...

  3. JSON 接口如何实现 RSA 非对称加密与签名

    代码地址如下:http://www.demodashi.com/demo/14000.html 一.概述 1. 数字签名的作用:保证数据完整性,机密性和发送方角色的不可抵赖性,加密与签字结合时,两套公 ...

  4. iOS- 非整星的评分控件(支持小数)

    概述 订单评论里实现星级评分控件: 简单整星评价与非整星的精评价. 详细 代码下载:http://www.demodashi.com/demo/10711.html 现在很多应用都有评分功能. 有了订 ...

  5. 【转】SVN与Git比较

    摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这两种版本控制工具的异 ...

  6. Android 应用开发者必看的 9 个 Tips

    去年,Android应用数量已经超过iOS成为全球最大的生态系统,不过在这多大百万的应用中,有些应用的下载量很大,赚的盆满钵满:另外一些应用就石沉大海.无人问津了. 拥有多年程序开发经验,最近在开发A ...

  7. 12个JavaScript技巧【转】

    使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用 ...

  8. selenium+python : Waits---study

    from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.s ...

  9. ELK系统搭建流程

    ELK系统搭建流程 1. Logstash 1.1 安装 注:安装在需要收集日志的机器上. cd /data/softs sudo wget https://download.elastic.co/l ...

  10. 关于阿里云centos 2.6下手机表情输入后无法保存到mysql数据库的问题调研及mysql版本从5.1升级到5.7的全过程纪要

    近日在开发手机app的评论功能时,输入表情文字,保存后提示数据库保存失败.错误日志片段如下 caused by: java.sql.SQLException: Incorrect string val ...