PYTHON帮助

PyYAML(开发人员如何使用)

发布 2024年八月13日
分享:

介绍

PyYAML是一个 Python 库,可用作 YAML 解析器和发射器。 YAML(YAML不是标记语言).NET、Java 或 Node js 是一种人类可读的数据序列化格式,可与 Python 应用程序很好地集成,具有强大的错误支持功能和强大的扩展 API 等。 YAML 通常用于不同数据结构语言之间的配置文件和数据交换,同时要考虑到人类的可读性。 本文稍后将介绍IronPDF, 一款来自 的PDF生成Python包铁软件.

PyYAML 的主要功能

  1. 人可读格式:YAML 易于读写,是复杂配置文件和数据序列化的理想选择。

  2. 完全支持 YAML 1.1:PyYAML 支持完整的 YAML 1.1 规范,包括 Unicode 支持和自定义数据类型。

  3. 与 Python 集成:PyYAML 提供特定于 Python 的标记,允许表示任意 Python 对象,使其适用于各种应用。

  4. 错误处理:PyYAML 提供合理的错误信息,这在调试过程中非常有用。

安装

要安装 YAML 软件包,可以使用 pip:

pip install pyyaml

基本用法

下面是一个如何使用 PyYAML 加载和转储 YAML 文档到任意 Python 对象的简单示例。

import yaml
# Sample YAML data
yaml_data = """
name: John Doe
age: 30
children:
  - name: Jane Doe
    age: 10
  - name: Jim Doe
    age: 8
"""
# Load YAML data
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
PYTHON

输出

PyYAML(面向开发人员的工作原理):图1

高级功能

  1. 自定义数据类型:PyYAML 允许您定义自定义构造器和表示器,用于处理典型 YAML 格式的复杂数据类型。
import yaml
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
def person_representer(dumper, data):
    return dumper.represent_mapping('!Person', {'name': data.name, 'age': data.age})
def person_constructor(loader, node):
    values = loader.construct_mapping(node)
    return Person(**values)
yaml.add_representer(Person, person_representer)
yaml.add_constructor('!Person', person_constructor)
# Object Serialization
person = Person(name='John Doe', age=30)
yaml_data = yaml.dump(person)
print(yaml_data)
# Deserialize YAML to a Person object
loaded_person = yaml.load(yaml_data, Loader=yaml.FullLoader)
print(loaded_person.name, loaded_person.age)
PYTHON

输出

PyYAML(开发人员工作原理):图 2

  1. 处理大文件:PyYAML 可以通过使用基于流的加载和转储,高效处理多个 yaml 文档或大型 YAML 文件。
import yaml
# Load a large YAML file
with open('large_file.yaml', 'r') as file:
    data = yaml.safe_load(file)
# Dump data to a large YAML file
with open('output_file.yaml', 'w') as file:
    yaml.dump(data, file)
PYTHON

输出

PyYAML(开发人员如何使用):图3

介绍IronPDF

PyYAML(开发者指南):图4

IronPDF是一个强大的Python库,旨在使用HTML、CSS、图像和JavaScript创建、编辑和签署PDF。 它提供商业级性能,同时占用较少的内存。 关键功能包括:

HTML 转换为 PDF

将HTML文件、HTML字符串和网址转换为PDF。 例如,使用Chrome PDF渲染器将网页渲染为PDF。

跨平台支持

兼容多种 .NET 平台,包括 .NET Core、.NET Standard 和 .NET Framework。 支持 Windows、Linux 和 macOS。

编辑和签署

设置属性,使用密码和权限添加安全性,并对您的PDF应用数字签名。

页面模板和设置

自定义PDF的页眉、页脚、页码以及可调节的边距。 IronPdf 支持响应式布局和自定义纸张尺寸。

标准合规性

IronPdf 遵循 PDF/A 和 PDF/UA 等 PDF 标准。 它支持 UTF-8 字符编码,并能处理图片、CSS 和字体等资产。

使用IronPDF和PyYaml生成PDF文档

import yaml
import json
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your license"
# Sample YAML data with standard yaml tags
yaml_data = """
name: IronPDF User1
age: 25
children:
  - name: IronPDF User2
    age: 23
  - name: IronPDF User3
    age: 24
"""
# Load YAML data to only basic python objects
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
# Write YAML to File 
with open('output_file.yaml', 'w') as file:
    yaml.dump(yaml_output, file)
# Write YAML as JSON
with open('output_file.json', 'w') as json_file:
    json.dump(yaml_output, json_file)
# Read Json and Indent
output = json.dumps(json.load(open('output_file.json')), indent=2)
print(output)
# create Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with PYYML</h1>"
content += "<p>YAML data: "+ yaml_data +"</p>"
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("awesome.pdf")
PYTHON

代码解释

  1. 输入:

    • 脚本首先导入必要的 Python 库和模块:yaml、json 和 IronPDF for Python。 这些库用于处理 YAML 和 JSON 数据格式,以及使用 IronPdf 生成 PDF。
  2. 设置许可证密钥:

    • 有一个设置许可证密钥的步骤(License.LicenseKey = "你的许可证")用于 IronPDF。 这对于合法有效地使用 IronPDF 库至关重要。
  3. YAML 数据示例:

    • 定义一个 YAML 格式的字符串示例(yaml_data)该文件包含一个假设的人及其子女的信息。 本数据可作为演示 YAML 处理的示例。
  4. YAML操作:

    • 脚本使用 yaml.safe_load 加载 YAML 数据() 将其转换为 Python 数据结构。 这样,脚本才能以编程方式操作和处理数据。
  5. 转为 YAML:

    • 使用 yaml.dump 将 Python 数据结构转换回 YAML 格式(). 演示如何将 Python 对象序列化为 YAML 格式以便存储或传输。
  6. 写入文件:

    • 将 YAML 数据写入文件(output_file.yaml)使用 yaml.dump(). 同样,它还能将 YAML 数据转换为 JSON 格式并写入另一个文件(output_file.json)使用 json.dump()**.
  7. 阅读 JSON 并进行格式化:

    • 此操作从 output_file.json 中读取 JSON 数据,对其进行解析,并使用 json.dumps 将其格式化,缩进 2 个空格。(). 该操作说明了如何读取和格式化 JSON 数据,以获得更好的可读性或进一步处理。
  8. 使用 IronPDF 生成 PDF:

    • 使用 IronPDF(ChromePdfRenderer()**)将 HTML 内容字符串呈现为 PDF 文档。 HTML 内容包括作为文档内容一部分嵌入其中的原始 YAML 数据。
  9. 保存 PDF:

    • 最后一步保存生成的 PDF 文档(awesome.pdf)保存为文件系统使用pdf.SaveAs(). 它演示了如何以编程方式创建和保存 PDF 文档。

输出

PyYAML(为开发人员工作原理):图5

PDF

PyYAML(适用于开发人员的工作原理):图6

IronPDF 许可证

IronPDF 运行于 Python 的许可密钥上。 IronPDF for Python 提供一个免费试用许可证密钥让用户可以在购买之前检验其广泛功能。

在使用IronPDF包之前,请将许可证密钥放在脚本的开头:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

结论

PyYAML 是一个强大而灵活的库,用于在 Python 中处理 YAML。 它采用人类可读格式,完全支持 YAML 1.1,并与 Python 集成,是配置文件、数据序列化等的绝佳选择。 无论您是处理简单的配置还是复杂的数据结构,PyYAML 都能为您提供有效处理 YAML 数据所需的工具。

IronPDF 是一个 Python 软件包,可以方便地将 HTML 内容转换为 PDF 文档。 它提供了简单明了的 API(ChromePdfRenderer)该工具用于开发人员从 HTML 生成高质量的 PDF,包括支持 CSS 和 JavaScript 等现代网络标准。 这使其成为直接从 Python 应用程序动态创建和保存 PDF 文档的有效工具。

< 前一页
msgpack python(开发人员如何工作)
下一步 >
sqlite utils Python(对开发者如何工作)

准备开始了吗? 版本: 2024.11.1 刚刚发布

免费 pip 安装 查看许可证 >