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

发布于 2024-12-08 02:38:16 字数 562 浏览 0 评论 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!'

The code works fine. I just had an efficiency question. In this code I'm using "try...except" to pass an error that would crash the program. The error is caused by the IP address not being reachable. As I said before, the code does its job. I want to know if this the quickest way to see if the IP is reachable and pass it up. It stalls for 30 to 45 seconds if the IP can't be found. Piled up a handful of times this could be rather time consuming.

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!'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

够运 2024-12-15 02:38:16

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

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

Your question about efficiency is absolutely unrelated to your use of try ... except. Exception handling in Python is relatively fast, about the same as running any other Python statement (we're talking on the order of microseconds).

Your 30-45 second performance is undoubtedly due to the behaviour of NetGroupGetUsers when the IP address is unreachable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文