2012-06-27 37 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