问题描述
我已经编写了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解释器的分隔符。