- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有办法告诉 Python 3 中的 pprint
不要在空格处拆分字符串? Python 2 的 pprint
没有这样做。可以禁用此行为吗?我查看了 pprint
的源代码,但看起来我没有看到这个选项。
我能以某种方式欺骗它吗?
这是我得到的示例:
>>> PP.pprint("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ",width=-1,compact=True)
('ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ '
'ZZZZZ')
这就是我想要的:
>>> PP.pprint("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ",width=-1,compact=True)
('ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ')
澄清一下,我确实希望它遵循宽度,而不是字符串。所以当我看到例如:
PP.pprint(["ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZ","CATS"])
我要:
['ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZ',
'CATS']
不是:
['ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ '
'ZZZZZZZZZZZZZ',
'CATS']
最佳答案
您可以将 width
选项设置为一个非常大的值,例如 sys.maxsize
:
>>> import sys
>>> import pprint as PP
>>> PP.pprint("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ",width=sys.maxsize,compact=True)
'ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ'
设置width
为-1
没有特殊意义。
唯一的其他选择是子类化 PrettyPrinter()
类,并包装 _format()
方法:
import sys
from pprint import PrettyPrinter
class NoStringWrappingPrettyPrinter(PrettyPrinter):
def _format(self, object, *args):
if isinstance(object, str):
width = self._width
self._width = sys.maxsize
try:
super()._format(object, *args)
finally:
self._width = width
else:
super()._format(object, *args)
NoStringWrappingPrettyPrinter().pprint(yourobject)
这仅为字符串设置宽度为 sys.maxsize
:
>>> NoStringWrappingPrettyPrinter().pprint(["ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ", "CATS"])
['ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZ',
'CATS']
关于python - 我可以在 python3 中使 pprint 不拆分字符串,就像在 python2 中一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31485402/
这个问题在这里已经有了答案: Disabling sorting mechanism in pprint output (6 个答案) 关闭 8 个月前。 代码是: from pprint impo
如何处理 Windows 测试项目中的名称冲突/阴影?project.clj 包含以下 lib 声明: :dependencies [[org.clojure/clojure "1.5.1"]
我使用许多类似 json 的字典。 pprint 可以方便地构建它们。有没有办法使 pprint 输出中的所有整数都以十六进制而不是十进制打印? 例如,而不是: {66: 'far', 99: 'B
我有一个带有元组键的嵌套字典结构。这是我使用 pprint 漂亮地打印字典时条目的样子: ... ('A', 'B'): {'C': 0.14285714285714285,
这里是编程新手。每当我尝试在 Python IDLE 中“导入 pprint”时,我都会收到以下错误: >>> import pprint Traceback (most recent call la
我知道口述和集合没有顺序,所以相等的集合或口述可能打印不同(所有测试使用 Python 3.6.1): >>> for obj in {0, 8}, {8, 0}, {0:0, 8:8}, {8:8,
我正试图获得一本漂亮的字典,但我没有运气: >>> import pprint >>> a = {'first': 123, 'second': 456, 'third': {1:1, 2:2}} >
我正在尝试为 skiptracer 安装 requirements.txt 文件,但它一直在说 ERROR: Could not find a version that satisfies the r
以下截图: (binding [*out* (writer "foo.txt")] (pprint models)) 将在 208Kb 处截断输出。 但是以下内容: (spit "foo.txt"
我正在使用 pprint 来显示两个词典之间的 diff。有时字典中的值是长字符串,我希望将其视为单行,因此我将 width 设置为某个较大的值。不幸的是,有时这些字典很浅(即,虽然在一般情况下它们可
如何像打印一样 pprint.pformat 字符串。我使用 pprint 因为我需要使用缩进 test = 'google\\nfirefox' import pprint pprint.pform
我正在尝试在字典上使用 Python 的 pprint 但由于某种原因它无法正常工作。这是我的代码(我使用 PyCharm Pro 作为我的 IDE):` from pprint import ppr
我有一个很大的字典,我正在打印它以供使用 prettyprint 查看,但是我如何才能保持格式但取消 pprint 中的排序机制? 最佳答案 Python 3.8 或更新版本: 使用sort_dict
我想使用 pprint 的输出来显示复杂的数据结构,但我想使用 logging 模块而不是 stdout 来输出它。 ds = [{'hello': 'there'}] logging.debug(
我有以下代码: logFile=open('c:\\temp\\mylogfile'+'.txt', 'w') pprint.pprint(dataobject) 如何以 pretty-print 格
是否有一种好的/可接受的方法来获得两种以上的替代布局,特别是支持可选空间的方式? 特别是,我可能想通过以下三种方式之一打印列表: [1, 2, 3, 4, 5] [1,2,3,4,5] [ 1 , 2
我必须打印一个 2d 矩阵,使它看起来漂亮整洁,但我总是得到一个奇怪的输出。我不会大声导入 pretty-print 之类的东西来帮助我。我的代码是这样的: def pretty_print(M):
当运行 celery worker 时,pprint 输出的每一行总是以时间戳为前缀,并且也被剥离。这使得它很难读: [2015-11-05 16:01:12,122: WARNING/Worker-
这个问题是基于 that one 的副作用。 . 我的 .py 文件在第一行都有 # -*- coding: utf-8 -*- 编码定义器,就像我的 api。 py 正如我在相关问题中提到的,我使用
我正在尝试使用 http://jinja.pocoo.org/docs/dev/templates/#pprint pprint像这样的功能: {{ pprint(player) }}在我的 html
我是一名优秀的程序员,十分优秀!