2012-06-27 39 views
-3

乡亲Python的调试打印命令

我不是很了Python的,但都继承了Python的脚本, ,一种是给了我一个问题,我不是100%确定什么人行正在运行的负载

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

有问题的行是

ldapModify(userdn, mods, uri=uri) 

我所希望看到的是像

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

可以在任何一种灵魂的帮助。

回答

0

Python ldap lib不会调用ldap命令行客户端,它会直接绑定到底层系统ldap库。

如果你想要的是要知道传递给的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 
0

这行之前,您可以放置​​一个呼叫python的交互式调试器。然后你就可以在问题打印出变量:

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

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

Here's a link about the debugger