如何获取python';s pprint是否返回字符串而不是打印?
换句话说,sprintf与pprint的等价物是什么 模块有一个名为的命令,用于此目的 从文件中: 以字符串形式返回对象的格式化表示形式。缩进 宽度和深度将作为 格式化参数 例如:如何获取python';s pprint是否返回字符串而不是打印?,python,pretty-print,pprint,Python,Pretty Print,Pprint,换句话说,sprintf与pprint的等价物是什么 模块有一个名为的命令,用于此目的 从文件中: 以字符串形式返回对象的格式化表示形式。缩进 宽度和深度将作为 格式化参数 例如: >>> import pprint >>> people = [ ... {"first": "Brian", "last": "Kernighan"}, ... {"first": "Dennis", "last": "Richie"}, ... ] >&
>>> import pprint
>>> people = [
... {"first": "Brian", "last": "Kernighan"},
... {"first": "Dennis", "last": "Richie"},
... ]
>>> pprint.pformat(people, indent=4)
"[ { 'first': 'Brian', 'last': 'Kernighan'},\n { 'first': 'Dennis', 'last': 'Richie'}]"
您正在寻找
pprint.pformat
?假设您确实是指来自的pprint
,那么您需要
pprint.pformat
方法
如果您只是指打印,那么您需要类似这样的内容:
import pprint, StringIO
s = StringIO.StringIO()
pprint.pprint(some_object, s)
print s.getvalue() # displays the string
从技术上讲,这是唯一“正确”的答案,考虑到代码的标题,它真的很有帮助。作为2021年的旁注,在许多上下文中,将
sort\u dicts=False
添加到pprint.pformat
的参数中是很有用的,因为这保留了字典的原始顺序。(我认为这个选项只对较新版本的Python有效)。
>>> import pprint
>>> pprint.pformat({'key1':'val1', 'key2':[1,2]})
"{'key1': 'val1', 'key2': [1, 2]}"
>>>