我遇到了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文件执行此代码,它可以完美地工作。但是,如果我尝试在控制台上使用它,我会收到“返回外部函数”错误,我无法弄清楚如何解决它,因为我试图通过在控制台上运行部件来调试我的代码:(
感谢您的帮助:)
答案 0 :(得分:0)
解析器认为函数在return
语句之前结束,这意味着您的缩进可能存在某种问题。确保每行之前有相同数量的空格/制表符(或确保不要混合空格和制表符,某些行上的空格,其他行上的制表符)。它也可能有助于摆脱评论行。
修改:删除评论修复了您的问题这一事实表明您使用的控制台存在缺陷,因为语法正确。
答案 1 :(得分:0)
问题是返回前的评论。由于某种原因,控制台不能很好地理解延续。由于我对测试代码感兴趣,我只是删除了评论。