ldap3.MODIFY_REPLACE单引号'

问题描述

我已经编写了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,Harry'])]} 
                                              ^
SyntaxError: invalid Syntax

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

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

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

解决方法

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

“O'Sry,哈利”

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