在Python Shell和BPython中,我试图使输出自然地分成多行,例如,节点解释器。
这是我的意思的一个例子:
# This is what is currently happening
# (I'm truncating output, but the response is actually a lot longer than this):
>>> response.dict
{'status': '200', 'accept-ranges': 'bytes', 'cache-control': 'max-age=604800'}
# Here's what I'd like to happen:
>>> response.dict
{'status': '200',
'accept-ranges': 'bytes',
'cache-control': 'max-age=604800'}
这会使阅读事情变得更容易。有谁知道是否可以在BPython或纯shell中配置它? (或者老实说,任何翻译 - 我都会转向任何让我这样做的人。)
非常感谢!
编辑:谢谢大家的答案!我以前遇到过Pretty Print,并考虑过使用它。我还考虑过使用for循环在自己的行上打印所有内容。这些都不是坏主意,但我希望我可以让翻译自动完成。答案 0 :(得分:2)
您可以使用pprint()
:
rd = {'status': '200', 'accept-ranges': 'bytes', 'cache-control': 'max-age=604800', 'another item': 'another value'}
from pprint import pprint
pprint(rd)
结果:
{'accept-ranges': 'bytes',
'another item': 'another value',
'cache-control': 'max-age=604800',
'status': '200'}
答案 1 :(得分:0)
有几种方法可以做到这一点。您可以使用链接中显示的三引号(“”“)和”\ n“。其他方法也在链接中列为stringl Pythonic way to create a long multi-line string。 如果处理Json对象,您可以使用以下代码,这应该有所帮助。
import json
with open('msgs.json', 'r') as json_file:
for row in json_file:
data = json.loads(row)
print json.dumps(data, sort_keys=True, indent=2, separators=(',', ': '))