Python调试打印命令

时间:2012-06-27 12:43:21

标签: python debug-symbols

民间

我不是很熟悉Python,但继承了大量的Python脚本 其中一个给我一个问题,我不是100%确定一行正在运行

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

有问题的行是

ldapModify(userdn, mods, uri=uri)

我希望看到的是

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

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

2 个答案:

答案 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)提示符下,您可以打印出任何或所有变量的值。

Here's a link about the debugger