0

我已经编写了一个 Python 脚本,并且正在使用 ldap3 模块 ( https://pypi.org/project/ldap3/ ) 在 Oracle ldap 中添加、修改属性值。

我能够修改其中没有单引号的 ldap 属性值。然而,有些用户的名字中有一个单引号 (')。当我尝试更新具有单引号的用户的显示名称时。我在下面收到错误

conn is connection to Oracle ldap

dipslayName is : O'Sry, Harry

result = conn.modify('uid=Harry12,ou=Corporate,ou=org,dc=axe,dc=com',{'displayName':[(ldap3.MODIFY_REPLACE,['O'Sry, Harry'])]})

Error:
File "<string>", line 1
    {'displayName':[(ldap3.MODIFY_REPLACE,['O'Sry, Harry'])]} 
                                              ^
SyntaxError: invalid syntax

我已经尝试使用 \ 进行转义,如下所示

{'displayName':[(ldap3.MODIFY_REPLACE,['O\'Sry, Harry'])]}

如何在 ldap3.MODIFY_REPLACE 中转义显示名称中的单引号。

4

1 回答 1

1

这是一个与 python 相关的问题,与 ldap3 无关。在 python 中,您可以使用单引号或双引号作为字符串分隔符。尝试使用双引号来定义字符串:

“O'Sry,哈利”</p>

因此,字符串中的单引号不被视为 python 解释器的分隔符。

于 2021-05-03T05:38:23.403 回答