我有一个制表符分隔的文本文件,其中包含我要解析的某些字段中的分号和等号的ascii符号;即\ x3b和\ x3d。我无法弄清楚如何将其转换回我的代码中,尽管在命令行中它是自动完成的。
我尝试使用编解码器和编码进行读写,以及string.replace
temp[8].replace("\x3b",";")
file=codecs.open(filename, 'r', encoding='ascii') # or utf-8
我希望看到: dist = 7117; dist = 1508
但是我只是得到输入字符串: dist \ x3d7117 \ x3bdist \ x3d1508
当我在python命令行中键入此命令时:
unicode(“ dist \ x3d7117 \ x3bdist \ x3d1508”)
输出为:
dist = 7117; dist = 1508
当我将其放入代码中时:
print unicode(dist\x3d7117\x3bdist\x3d1508)
我明白了 dist = 7117; dist = 1508
但是当我放入包含此字符串的变量
print unicode(temp[7])
我得到: dist \ x3d7117 \ x3bdist \ x3d1508
谢谢您的帮助。
答案 0 :(得分:0)
很难看到repr
的数据,但这应该行得通。
>>> s = 'dist\\x3d7117\\x3bdist\\x3d1508'
>>> fixed = s.decode('string-escape')
>>> print fixed
dist=7117;dist=1508