2012-10-16 2 views
1

AD에 인증하는 스크립트를 작성하려고합니다. . 내가 그것을 실행하면이 늘어나는만큼 가져 와서 "글로벌 이름 '디버그'정의되지 않은 것을 말한다 내가 디버그 여기에 지어진 것으로 생각글로벌 이름 'debug'가 정의되지 않았습니다.

import sys 
sys.stdout = open('output.csv', 'w') 
def ad_dict(ldapobj,attr_dict={},recurse=0,auth=1,filter=()): 
    if ldapobj.find(',')==-1: ldapobj='cn='+ldapobj+','+Ad.ldap_main_loc 
    if auth: #setup authenticated connections 
    if debug: print 'auth' 

, 왜 그것을하지 것 : 여기 내 문제입니다 도움이된다면이 스크립트를 위해 ActivePython을 사용하고 있습니다.

답변

1

이 기능이 필요한 경우 디버그라는 전역 변수를 정의하지 않습니까? (또는 logging.debug()를 사용하십시오)

+0

그래서 처음에는'global debug'를 넣을까요? – user1681573

+0

아니요,'debug = True' 또는'debug = False' 만 적절하게 사용하십시오. 'global'은 함수 안에서 전역 변수를 수정하는 데 사용됩니다. – kindall

+0

그래서,'debug = True' 그리고 다음에 정의되지 않은 변수 opends로 간다. 나는이 사이트에서 내가 뽑은 사이트가 완전한 스크립트를 준다고 생각했다. – user1681573

0

ActivePython을 사용하지 않는다고 말하면 디버그는 일반 파이썬에 내장되어 있지 않습니다. 내장 된 모든 기능을 보려면 python documentation을 살펴보십시오.

관련 문제