Python错误:'返回'外部功能

时间:2015-02-09 13:20:07

标签: python function return

我遇到了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文件执行此代码,它可以完美地工作。但是,如果我尝试在控制台上使用它,我会收到“返回外部函数”错误,我无法弄清楚如何解决它,因为我试图通过在控制台上运行部件来调试我的代码:(

感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

解析器认为函数在return语句之前结束,这意味着您的缩进可能存在某种问题。确保每行之前有相同数量的空格/制表符(或确保不要混合空格和制表符,某些行上的空格,其他行上的制表符)。它也可能有助于摆脱评论行。

修改:删除评论修复了您的问题这一事实表明您使用的控制台存在缺陷,因为语法正确。

答案 1 :(得分:0)

问题是返回前的评论。由于某种原因,控制台不能很好地理解延续。由于我对测试代码感兴趣,我只是删除了评论。