从run_report返回的数据返回一个python字典,然后将其解析为JSON字符串并打印,以便JSON可以访问它。 run_report函数还会创建一个.json文件,我可以在以后访问该文件:
print "Content-type: application/json\n"
json_data = run_report(sites_list, tierOne, dateFrom, dateTo, filename, file_extension)
print json.dumps(json_data, indent=4, sort_keys=True)
然而,当它打印时,我会收到此输出:
..{
"data": {
"FR": 1424068
},
"tierone": {
"countries": [
"US",
"BR",
...
],
"ratio": 100.0,
"total": 1424068,
"total_countries": 1
},
"total": 1424068,
"total_countries": 1
}
我不明白的是这些尾随点是如何出现的。但是,如果我打开我使用run_report函数创建的.json文件之一并打印读取数据文件,则不显示这些点。
def open_file(file_extension, json_file):
with open(file_extension + json_file) as data_file:
data = json.load(data_file)
return json.dumps(data)
json_data = open_file(file_extension, filename)
print json_data
答案 0 :(得分:1)
else 正在生成那些.
个字符; json.dumps()
函数永远不会添加它们。
确保没有其他内容写入sys.stdout
;您发送到sys.stdout
的所有内容都会发送到浏览器(默认情况下print
会写入sys.stdout
。
根据您的评论,我了解您希望将更多信息写入服务器日志;不要使用sys.stdout
;写信给sys.stderr
。