gpt4 book ai didi

python - 使用引发异常的 lambda 过滤列表

转载 作者:行者123 更新时间:2023-11-28 16:36:57 26 4
gpt4 key购买 nike

使用 psutil 我得到一个进程列表;我想过滤掉具有特定名称的那些。

filter(lambda p: p.name()=="x", psutil.process_iter())

但是,psutil.Process.name() 函数可能会抛出...在这种情况下,filter 受到打击,并向我重新引发异常。

是否有 filter_noexception 类型的函数/惯用语,或者我是否需要自己将 p.name() 包装到异常吞噬函数中?

最佳答案

你可以这样做:

def try_get_name(process_instance):
try:
return process_instance.name()
except:
return ""


filter(lambda p: try_get_name(p)=="x", psutil.process_iter())

关于python - 使用引发异常的 lambda 过滤列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24912150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com