我有一个正在打印的大词典,可以用prettyprint查看,但是如何保持格式但又不能杀死pprint中的排序机制?
您可以猴子修补pprint模块。
import pprint
pprint.pprint({"def":2,"ghi":3,"abc":1,})
pprint._sorted = lambda x:x
# Or, for Python 3.7:
# pprint.sorted = lambda x, key=None: x
pprint.pprint({"def":2,"ghi":3, "abc":1})
由于第二个输出基本上是随机排序的,因此您的输出可能与我的不同:
{'abc': 1, 'def': 2, 'ghi': 3}
{'abc': 1, 'ghi': 3, 'def': 2}
另一个版本更复杂,但更易于使用:
import pprint
import contextlib
@contextlib.contextmanager
def pprint_nosort():
# Note: the pprint implementation changed somewhere
# between 2.7.12 and 3.7.0. This is the danger of
# monkeypatching!
try:
# Old pprint
orig,pprint._sorted = pprint._sorted, lambda x:x
except AttributeError:
# New pprint
import builtins
orig,pprint.sorted = None, lambda x, key=None:x
try:
yield
finally:
if orig:
pprint._sorted = orig
else:
del pprint.sorted
# For times when you don't want sorted output
with pprint_nosort():
pprint.pprint({"def":2,"ghi":3, "abc":1})
# For times when you do want sorted output
pprint.pprint({"def":2,"ghi":3, "abc":1})
问题内容: 如何使用文件快速关闭所有 Log4J 输出? 问题答案: 将级别设置为OFF(而不是DEBUG,INFO等)。
问题内容: 我在python中遇到JSON问题。 实际上,如果我尝试执行此代码,python会给我一个排序后的JSON字符串! 例如: 这是输出: 如您所见,我尝试使用“ sort_keys = False”,但未进行任何更改。 如何停止Python对JSON字符串排序? 问题答案: 您将值存储到Python中,而Python 根本没有内在的排序概念,它只是键值映射。因此,当您将项目放入变量时,它
问题内容: 我编写了一个简单的中继脚本,该脚本连接到网络摄像机并从套接字读取数据,并使用打印功能输出此数据。数据是已设置边界的MJPG数据。我只是输出读取的数据。 问题是PHP似乎正在缓冲这些数据。当我将相机设置为1 FPS时,Feed将冻结7-8秒,然后快速显示8帧。如果将分辨率设置为很大,则相机每秒将以大约1帧的速度移动。我认为那时正在发生一些缓冲(因为大尺寸的缓冲区会很快填充,而小尺寸的缓冲
本文向大家介绍如何在PowerShell中对输出进行排序?,包括了如何在PowerShell中对输出进行排序?的使用技巧和注意事项,需要的朋友参考一下 要在PowerShell中对输出进行排序,您需要使用Sort-Object Pipeline cmdlet。在下面的示例中,我们将从Get-Process命令中检索输出,然后根据内存和CPU使用率对它们进行排序。 示例 输出结果 在上面的示例中,输
我用Flink编写了一个小测试用例代码来对数据流进行排序。代码如下: 然而,代码只输出执行计划和其他几行。但它不会输出实际排序的数字。我做错了什么?
我正在尝试运行一个python程序,它使用Selenium和Chrome来分析一些网站的数据。我遇到的问题是,Selenium或Webdriver正在向控制台中注入我不关心的输出,使查看我的程序输出变得困难。我读过很多关于这个的帖子,有各种各样的驱动程序选项,但似乎什么都不管用。这些选项的最佳做法是删除以下内容: 但所有这些仍然存在: 有没有办法把这些也去掉?以下是我对webdriver的设置(我