Я бы использовал регулярное выражение для извлечения ваших имен:
import re
l = [
"cn=Philip J. Fry,ou=people,dc=planetexpress,dc=com",
"cn=Turanga Leela,ou=people,dc=planetexpress,dc=com",
"cn=Bender Bending Rodr\u00edguez,ou=people,dc=planetexpress,dc=com"
]
NAME_PATTERN = re.compile(r'cn=(.*?),')
result = [NAME_PATTERN.match(s).group(1) for s in l]
print(result)
Вывод:
['Philip J. Fry', 'Turanga Leela', 'Bender Bending Rodríguez']
Обратите внимание, что при выгрузке его в JSON í
не поддерживается, так какпо умолчанию он пытается преобразовать в ASCII, поэтому он выводит его в UTF-16 (Unicode 0x00ED
):
import json
print(json.dumps(result, indent=2))
Выход:
[
"Philip J. Fry",
"Turanga Leela",
"Bender Bending Rodr\u00edguez"
]
Вы можете обойти это, установив ensure_ascii=False
если хотите, хотя, если вы используете это в API, я был бы осторожен и придерживался ASCII с кодировкой Unicode:
print(json.dumps(result, indent=2, ensure_ascii=False))
Вывод:
[
"Philip J. Fry",
"Turanga Leela",
"Bender Bending Rodríguez"
]