python eval 字符串替换_Python 执行Eval 强制将字符串装换成字典时出错

我有个字符串如下:{\"module\":\"sink\", \"hostname\":\"datastream2\", \"tag\":\"urs_queryuser_mq\", \"category\":\"mq\", \"ruler\":\"MQ_55f85a369b22441e\", \"count\":425, \"totalDelay\":-1, \"totalProcessDelay\":2947890, \"time\":1430395550006}"

当我使用Python shell 时 :

ddb='{\"module\":\"sink\", \"hostname\":\"datastream2\", \"tag\":\"urs_yd_login\", \"category\":\"hdfs\", \"ruler\":\"HDFS_5aedbdf799494932\", \"count\":2, \"totalDelay\":-1, \"totalProcessDelay\":24115, \"time\":1430360048929}'

eval(ddb)

{'category': 'hdfs', 'count': 2, 'tag': 'urs_yd_login', 'totalDelay': -1, 'time': 1430360048929, 'totalProcessDelay': 24115, 'ruler': 'HDFS_5aedbdf799494932', 'hostname': 'datastream2', 'module': 'sink'}

此时能够正常转换成字典类型,但是在程序里边这样写就会抛出异常:

脚本如下格式:

print format_data[1]

ddddd = r'%s' % format_data[1].strip('"')

print ddddd

log_detail = eval(ddddd)

输出如下:

{\"module\":\"sink\", \"hostname\":\"datastream2\", \"tag\":\"urs_queryuser_mq\", \"category\":\"mq\", \"ruler\":\"MQ_55f85a369b22441e\", \"count\":425, \"totalDelay\":-1, \"totalProcessDelay\":2947890, \"time\":1430395550006}"

{\"module\":\"sink\", \"hostname\":\"datastream2\", \"tag\":\"urs_queryuser_mq\", \"category\":\"mq\", \"ruler\":\"MQ_55f85a369b22441e\", \"count\":425, \"totalDelay\":-1, \"totalProcessDelay\":2947890, \"time\":1430395550006}

unexpected character after line continuation character (, line 1)

麻烦各位大侠,帮小弟指点指点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值