0

代码工作正常。我只是有一个效率问题。在这段代码中,我使用“ 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!'
4

1 回答 1

5

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

您的 30-45 秒表现无疑是由于NetGroupGetUsersIP 地址不可达时的行为。

于 2011-10-06T02:01:30.577 回答