生成和解析 LDIF 数据(参见 RFC 2849)。
项目描述
ldif - 解析和生成 LDIF 数据(参见RFC 2849)。
这是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
查看哈希)
内置分布
ldif-4.1.3-py3-none-any.whl
(6.8 kB
查看哈希)