Skip to main content

生成和解析 LDIF 数据(参见 RFC 2849)。

项目描述

ldif - 解析和生成 LDIF 数据(参见RFC 2849)。

提交活动 代码大小(以字节为单位) 执照 最新版本 PyPI 下载

这是python-ldapldif模块 的一个分支,支持 python3/unicode。

它的一个好处是它是一个纯 python 包(你不依赖于libldap2-dev需要安装在你的笔记本电脑/测试机器/生产服务器上的(或类似的)包)。

有关更完整的差异列表,请参阅更改日志中的最后一个条目。

这个包只支持 Python 3(>= 3.7,实际上)。

用法

从文件(或BytesIO)解析 LDIF:

from ldif import LDIFParser
from pprint import pprint

parser = LDIFParser(open("data.ldif", "rb"))
for dn, record in parser.parse():
    print('got entry record: %s' % dn)
    pprint(record)

将 LDIF 写入文件(或BytesIO):

from ldif import LDIFWriter

writer = LDIFWriter(open("data.ldif", "wb"))
writer.unparse("mail=alice@example.com", {
    "cn": ["Alice Alison"],
    "mail": ["alice@example.com"],
    "objectclass": ["top", "person"],
})

Unicode 支持

传递给解析器或写入器的流对象必须是 ascii 字节流。

该规范允许以 base64 编码或通过 URL 包含任意数据。无法知道此数据的编码。为了解决这个问题,有两种模式:

默认情况下,LDIFParser将尝试将所有值解释为 UTF-8,并仅将无法解码的值保留为字节。但是您也可以将encodingof传递None给构造函数,在这种情况下,解析器不会尝试进行任何转换并直接返回字节。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

ldif-4.1.3.tar.gz (7.3 kB 查看哈希)

已上传 source

内置分布

ldif-4.1.3-py3-none-any.whl (6.8 kB 查看哈希)

已上传 py3