python - 如何尝试不同的功能,并返回第一个在 python 中成功的输出?

标签 python algorithm function

我有几个不同的函数,如果成功,每个函数都会输出一个 json 字符串。我无法事先知道它们是否会失败,所以我想必须按照下面指定的顺序尝试所有这些。我该怎么做?

我试过这样的事情:

import func1
import func2
import func3

def compi(url):
    try:
        return func1(url)
    except:
        return func2(url)
    else:
        return func3(url)

我确信 func3 不会失败。

最佳答案

def compi(url):
    functions = [func1, func2, func3]
    for func in functions:
        try:
            return func(url)
        except:
            pass
    #oops, none of them succeeded.
    raise Exception("All functions failed to return a value.")

关于python - 如何尝试不同的功能,并返回第一个在 python 中成功的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514666/

相关文章:

c - 二元矩阵两点之间的最短路径

java - 使用 XOR 方法查找数组中缺失和重复的元素

java - 我可以通过mysql触发器执行mysql之外的任何程序吗?

Python:使用 itertools 将列表拆分为组的参数

将整数转换为二进制的Python代码

python - flask 'hello world' 不工作

C - 在函数中重新分配指针类型的结构成员变量。 Valgrind 报告 "Invalid read/write of size 1"

python - 模块未找到错误 : No module named 'utils'

python - 递归算法 - 使用 '+' 扩展与创建新列表

php - 如何在 PHP 中调用随机函数