使用带有ascii选项卡的ord(),输入等

时间:2017-07-18 15:51:03

标签: python python-2.7

我正在读取一个包含7列和几千行的文件,这是由逻辑分析仪的第三方软件程序输出的。该软件有一些小故障,它输出一个ASCII而不是十进制的值,我的Python脚本的目标是将这些ASCII值转换为十进制。目前,我有:

        seg[4] = str(ord(seg[4]))

位于循环内部,seg []由所有7列组成,每次一行写入新文件。这完全有效,直到我遇到一个ASCII选项卡或输入(\ t或\ r),它被保存为" \\ t",我得到错误" TypeError:ord()预期一个字符,但找到长度为2的字符串"。我尝试使用" repr()"设置值等于字符串。命令,但这也没有奏效。有没有好办法解决这个问题?

以下是4个示例行:

-0.000000162000,0,'14',Rd,'29',0x0,'2'
0.0000907880000,3,'7',ExtWr,'29','3',; 4 '20' '0'
0.0001285000000,8,\t,Rd,'29',0x0,'20'
0.0005672700000,25,'1',ExtWr,d,'0','128'

1 个答案:

答案 0 :(得分:4)

首先解码。

>>> 'A'.decode('string-escape')
'A'
>>> ' '.decode('string-escape')
' '
>>> '\\t'.decode('string-escape')
'\t'