如何在 Python 中漂亮地打印 JSON 文件

与许多其他编程语言一样,Python 可以很好地处理 JavaScript 对象表示法 (JSON) 数据。 它可以从几个来源中提取这些数据,并像任何其他文件一样使用它。 当您想在 Python 中漂亮地打印 JSON 文件时,这很有帮助。

在这篇文章中,我们将向您展示如何以两种方式漂亮地打印 JSON 文件。 两者都将涉及使用终端和命令行,尽管其中一个可能根本不需要 Python 知识。

Pretty Print 是什么(以及为什么要将它与 JSON 文件一起使用)

简而言之,漂亮的打印以原始格式获取数据并将其更改为可读的内容。 换句话说,它使它变得漂亮。

在通常情况下,您将使用拉入程序中需要人工解析的文件来执行此操作。 通常,来自其他文件格式(例如 JSON 文件)的数据将被“缩小”。 这从代码中去除了所有的空白,以使其更易于计算机解析。

为了 example,您可以获取已缩小的原始数据库数据并通过脚本运行它以添加正确的缩进和其他格式。 从那里,您可以将其导出给其他人并根据需要使用它。

如何在 Python 中漂亮地打印 JSON 文件

下面,我们将向您展示如何在 Python 中漂亮地打印 JSON 文件。 对于我们的示例,我们使用 NeoVim 和内置的 :term 命令。 但是,您没有理由不能在 Python 解释器中直接从终端本身执行此操作。

1. 定义你的 JSON 文件

首先,我们想要使用一些 JSON 数据。 您可以采用两种方法——在 Python 脚本中定义数据或通过 JSON 文件定义数据。 我们打赌大多数数据将来自文件,所以这将是我们的重点。

在我们的例子中,我们有一个应用了零格式的 JSON 数据转储。

JSON 内容的转储。

这个文件——addresses.json——可以被引入 Python 并格式化。 为了在 Python 中使用 JSON 文件,您需要导入 json 模块。 然后,您可以将文件本身定义为变量。

在 Python 中定义文件。

一旦你在这一点上,你可以开始使用“addresses.json”。

2. 使用 Python 打开 JSON 文件

在 Python 中打开和加载文件。

接下来,您需要打开“addresses.json”。 这是通过通常的 with open…as 方法:

在这段代码中,您需要调用 json.load() 在“addresses.json”上并将其分配给一个变量:

如果您现在运行此文件,它将执行,但您不会在终端中看到任何结果。 为此,您需要进入第三步。

3. 漂亮地打印您的 JSON 文件(并调整设置)

漂亮打印 JSON 文件的最后一个方面是执行打印本身。 为此,请将以下内容添加为您的缩进行 with open…as 代码块:

为了打破这一点, print 函数调用 json.dumps(). 这适用于三个参数:

  • 您想要漂亮打印的文件的名称。
  • 缩进的大小。
  • JSON 文件是否应按其键排序。

准备好后,保存更改,然后打开一个新的终端窗口。 在这里,您需要导航到正确的项目文件夹,然后运行该程序。

使用终端运行您的程序。

终端输出将应用您的设置并漂亮地打印 JSON 文件。

终端输出显示漂亮的打印数据。

当然,您通常会将漂亮的 JSON 存储在其他地方,而不是将数据打印到终端。 即便如此,您也可以使用一行代码片段从命令行漂亮地打印 JSON 文件。

如何从命令行在 Python 中漂亮地打印 JSON 文件

有一种超级快速的方法可以直接从命令行以终端输出的形式在 Python 中漂亮地打印 JSON 文件。 为此,请打开一个新的终端窗口,导航到您的项目文件夹,然后运行以下命令:

在这个 example,您需要将“addresses.json”更改为您自己的文件名。 运行此程序后,您将看到终端显示格式的输出。

这是一个很棒的、无代码的解决方案,可以在 Python 中即时漂亮地打印 JSON 文件,运行只需几秒钟。

总结

在 Python 中漂亮地打印 JSON 文件有很多用途。 通常,您会希望使缩小后的数据具有可读性,也许是为了导出给其他用户。 无论您出于何种原因,Python 都允许您使用 json 模块和“with open…as”代码块来执行此操作。

如果您对 Python 还能为您做什么感兴趣,请查看我们关于 Python 循环和 range() 函数的其他文章。 这种方法对您的日常工作有帮助吗?如果有,如何帮助? 在下面的评论部分让我们知道!

订阅我们的新闻!

我们的最新教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅