【发布时间】:2015-02-09 13:20:07
【问题描述】:
我在使用 python 时遇到问题,我不知道为什么会发生。
我的代码如下:
def getServers(baseDN=''):
from pyad import adquery
q = adquery.ADQuery()
q.execute_query(
attributes=["distinguishedName", "description"], \
where_clause="objectClass = 'Computer'", \
base_dn=baseDN)
#Lo que devuelve es un generator campeon :) Podes pasarlos con next o con un for.
return [server['distinguishedName'].split(',')[0].strip('CN=') for server in q.get_results()] # Y aca lo parseo con un for
所以基本上,如果我通过执行 py 文件来执行这段代码,它就可以完美运行。但是,如果我尝试在控制台上使用它,我会收到“返回外部函数”错误,并且我无法弄清楚如何解决它,因为我试图通过在控制台上运行片段来调试我的代码:(
感谢您的帮助:)
【问题讨论】:
-
您没有在控制台中正确缩进代码,因此文本不在函数范围内。当您到达
return...时,这会成为一个问题,因为return必须在函数范围内。 -
附带说明,这里不需要续行,python 忽略括号内的换行符。
-
尝试删除评论
##Lo que devuelve es u ... -
我同意这可能是一个简单的缩进问题,但如果不是,请在输入代码并收到错误后提供控制台的屏幕截图。
-
嗨,伙计们。 Milind,问题是评论,我只是把评论移到函数之外,现在它工作正常:)