我有一个python脚本,它以json的形式获取集群的运行状况,并向我发送一封邮件。问题是json的打印效果不好。以下是我已经尝试过的方法:
1.简单--〉json.dumps(运行状况)
- json.dumps(运行状况,缩进=4,排序键=True)
但是gmail中的输出仍然是未格式化的,有点像这样{ "active_primary_shards": 25, "active_shards": 50, "active_shards_percent_as_number": 100.0, "cluster_name": "number_of_pending_tasks": 0, "relocating_shards": 0, "status": "green", "task_max_waiting_in_queue_millis": 0, "timed_out": false, "unassigned_shards": 0 }
邮件已发送到Gmail
3条答案
按热度按时间ef1yzkbh1#
我不能肯定地说,但看起来你的电子邮件发送代码默认发送一个“HTML”电子邮件,在HTML中连续的空格折叠成一个,这样HTML代码就像:
向用户显示“这是一个段落,但它很长,所以我将换到新行,并缩进,这样我就知道它在
p
标记内,等等”。所以我觉得你有两个选择:
1.更改电子邮件发送代码,将
Content-type
标头作为text/plain
发送,或者1.将所有空格替换为
(不换行空格)字符,将换行符替换为<br>
(换行),例如:2g32fytz2#
我的作品罚款Python 2.7.3(默认,一月17 2015,17:10:37)[愚者3.4.5 20051201(红帽3.4.5-2)]在linux 2上
可能与版本有关,请发布您的版本和输出
jexiocij3#
建议的解决方案对我不起作用。我尝试将json pretty打印到一个变量中,我看到了预期的json pretty格式的电子邮件。