# -*- coding: utf-8 -*-

import sys
import time CTRL_A='\x01'
CTRL_B='\x02'
thedate = ''
thetime = ''
sn = ''
asr = ''
intent = ''
nlp = ''
domain = '' def speechHandle(inputFile,outputFile):
print "********** speechHandle " + inputFile + " start **********"
try:
input = open(inputFile, 'r')
output = open(outputFile, 'a+')
while True:
line = input.readline()
if len(line.strip()) < 1:
break
fileds = line.split(CTRL_A)
fieldsLen = len(fileds)
if fieldsLen == 6:
for fIndex in range(0,6):
kv = fileds[fIndex].split(CTRL_B)
kvLen = len(kv)
if kvLen == 2:
if kv[0].strip()=='time':
unixtimestamp = kv[1]
timetmp = time.localtime(int(unixtimestamp)/1000)
thedate = time.strftime("%Y-%m-%d", timetmp)
thetime = time.strftime("%H:%M:%S", timetmp)
elif kv[0].strip()=='id':
sn = kv[1]
elif kv[0].strip()=='asr':
asr = kv[1]
elif kv[0].strip() == 'intent':
intent = kv[1].strip()
elif kv[0].strip() == 'domain':
domain = kv[1]
lineOut = thedate + CTRL_A + thetime + CTRL_A + sn + CTRL_A + asr + CTRL_A + intent + CTRL_A + domain + "\n"
output.write(lineOut)
else:
print line
except IOError as ioerr:
print 'File Error' + str(ioerr)
exit(-1)
finally:
input.close()
output.close() print "********** speechHandle " + inputFile + " end **********" if __name__ == '__main__':
if len(sys.argv) != 3:
print "Please input inputFile and outputFile"
else:
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. 全国出现大面积DNS服务器故障 域名被劫持

    1月21日消息,继今日上午腾讯16项服务出现故障后,大量网站出现了无法访问的情况,据了解,该故障是由于国内DNS根服务器故障所致. 据了解,此次攻击式由于国内所有通用顶级域的根服务器出现异常,导致大量 ...

  2. sqlserver ssms ctrl+e快捷键问题

    大部分的环境 win2008R2+sqlserver2014R2  ssms 中 ctrl+e都是可以执行查询的,某些情况下,ctrl+e是个组合键 ctrl+e已按下,正在等待按下第二个键 调整方法 ...

  3. Nginx随笔

    1.用于代理与反代理,处理大量请求的工具. 2.主要有三大模块:handle.upstream.过滤模块.handle用于在nginx内部接到请求并进行处理的状况:upstream用于需要nginx接 ...

  4. 在Html.ActionLink中运用二维判断语句

    @Html.ActionLink("公告信息", "notice", "article", null, new { @class = Vie ...

  5. pip简单配置

    pip安装Python模块的工具,等价于Redhat中的yum! 01.下载 百度云盘:http://pan.baidu.com/s/1eRHGBfk             ###相关的 Linux ...

  6. result-charts

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. iOS升级swift3 遇到Overriding non-open instance method outside of its defining module的解决方案

    最近将我之前的一个swift项目升级swift3,说多了都是泪... 其中,遇到这样一个错误: 这是用的三方:ENSwiftSideMenu时引出的 报了两个错: 1.Cannot inherit f ...

  8. HDUOJ---Piggy-Bank

    Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  9. HDUOJ--畅通工程

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  10. 使用SoapUI生成WS请求报文

    WSDL地址示例:http://10.1.84.10:8100/webService/common/mail?wsdl   打开SoapUI,创建一个Project,输入wsdl地址就ok. 1.访问 ...