【发布时间】:2015-01-19 06:32:00
【问题描述】:
我是 python 新手,尝试使用 ast.literal_eval 获取请求数据导致“无效语法”错误。
它打印我发送的格式如下的数据,
192.156.1.0,8181,database,admin,12345
在 python 中我显示它,但在读取它时出错,我的代码是,
print str(request.body.read())
datas = request.body.read()
data=ast.literal_eval(datas)
dbname = data['dbname']
username = data['uname']
ip = data['ip']
port = data['port']
pwd = data['pwd']
data=ast.literal_eval(datas)
行出现无效语法错误如何解决它的建议将是可观的
谢谢
【问题讨论】:
-
这看起来像python表达式
-
@Hackaholic 它是 python 服务的一部分,我在我提到的行中遇到了错误。
-
192.156.1.0,8181,database,admin,12345不是 python 表达式 -
print str(request.body.read()) 你上面提到的代码打印行。
-
你有没有试过不给
read打电话两次?如果request.body是一个类文件对象,那么read就不是一个纯函数;调用它两次会在第二次调用时给你一个空字符串。
标签: python json parsing http httprequest