“尝试......除外”的效率

时间:2011-10-06 01:57:39

标签: python performance error-handling ip try-except

代码工作正常。我刚才有一个效率问题。在此代码中,我使用" try ... except"传递会导致程序崩溃的错误。该错误是由IP地址无法访问引起的。正如我之前所说,代码完成了它的工作。我想知道这是否是最快的方式来查看IP是否可以访问并将其传递出去。如果无法找到IP,它会停止30到45秒。堆积了几次这可能相当费时。

import win32net

def GetUsers( IP ):
    try:
        Users = win32net.NetGroupGetUsers(IP,'none',0),
    except:
        print IP + ': Was not found!'
    else:
        print IP + ': ' + Users
    return

F = open("C:\Users\*User*\Desktop\IP_List.txt")

for CurrentIP in F.readlines():
    GetUsers(CurrentIP.strip()),

F.close()
print 'DONE!'

1 个答案:

答案 0 :(得分:5)

关于效率的问题与您使用try ... except完全无关。 Python中的异常处理相对较快,与运行任何其他Python语句大致相同(我们谈论的是微秒级)。

您的30-45秒性能无疑是由于{IP地址无法访问时NetGroupGetUsers的行为造成的。