乡亲
我对 Python 不是很了解,但继承了一堆 Python 脚本,其中一个给我带来了一个问题,我不能 100% 确定哪一行正在运行
我需要做的是打印出命令行及其变量。
有问题的行是
ldapModify(userdn, mods, uri=uri)
我希望看到的是
/usr/bin/ldapmodify xxxx cn=......
任何善良的灵魂都可以帮助。
乡亲
我对 Python 不是很了解,但继承了一堆 Python 脚本,其中一个给我带来了一个问题,我不能 100% 确定哪一行正在运行
我需要做的是打印出命令行及其变量。
有问题的行是
ldapModify(userdn, mods, uri=uri)
我希望看到的是
/usr/bin/ldapmodify xxxx cn=......
任何善良的灵魂都可以帮助。
在有问题的行之前,您可以调用 python 的交互式调试器。然后你可以打印出有问题的变量:
import pdb
pdb.set_trace()
ldapModify(userdn, mods, uri=uri)
在 (pdb) 提示符下,您可以打印出任何或所有变量的值。
Python ldap lib 不调用 ldap 命令行客户端,它直接绑定到底层系统 ldap lib。
如果您想要知道传递给 ldapModify 的参数的值,这很简单:将它们打印到 sys.stderr :
import sys
try:
ldapModify(userdn,mods,uri=uri)
except Exception, e:
print >> sys.stderr, "oops, ldapModify failed with '%s'" % e
print >> sys.stderr, "userdns : '%s' - uri : '%s' - mods : '%s'" % (userdns, uri, mods)
# and reraise the error so you get the whole traceback
raise