民间
我不是很熟悉Python,但继承了大量的Python脚本 其中一个给我一个问题,我不是100%确定一行正在运行
我需要做的是打印出命令行及其变量。
有问题的行是
ldapModify(userdn, mods, uri=uri)
我希望看到的是
/usr/bin/ldapmodify xxxx cn=......
任何善良的灵魂都可以帮助。
答案 0 :(得分:0)
Python ldap lib不调用ldap命令行客户端,它直接绑定到底层系统ldap lib。
如果你想知道传递给ldapModify的args的值,那很简单:将它们打印到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
答案 1 :(得分:0)
在相关行之前,您可以调用python的交互式调试器。然后你可以打印出有问题的变量:
import pdb
pdb.set_trace()
ldapModify(userdn, mods, uri=uri)
在(pdb)提示符下,您可以打印出任何或所有变量的值。