-3

乡亲

我对 Python 不是很了解,但继承了一堆 Python 脚本,其中一个给我带来了一个问题,我不能 100% 确定哪一行正在运行

我需要做的是打印出命令行及其变量。

有问题的行是

ldapModify(userdn, mods, uri=uri)

我希望看到的是

/usr/bin/ldapmodify xxxx cn=......

任何善良的灵魂都可以帮助。

4

2 回答 2

0

在有问题的行之前,您可以调用 python 的交互式调试器。然后你可以打印出有问题的变量:

import pdb
pdb.set_trace()
ldapModify(userdn, mods, uri=uri)

在 (pdb) 提示符下,您可以打印出任何或所有变量的值。

这是有关调试器的链接

于 2012-06-27T14:45:33.180 回答
0

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
于 2012-06-27T14:38:55.867 回答