当前位置:  开发笔记 > 编程语言 > 正文

写多个尝试,除了在python中

如何解决《写多个尝试,除了在python中》经验,为你挑选了2个好方法。

我想知道在python 中编写try.. except语句最优雅的方式是什么.假设我有这个代码:

with open(sys.argv[1]) as f:
    for line in f:
        try:
            do_1(line)
        except:
            pass
        try:
            do_2(line)
        except:
            pass
        try:
            do_3(line)
        except:
            pass
        ...
        ...

写这个的最好方法是什么?我的行为是顺序的.但是,如果do_1失败,我仍然想要表演do_2.如果所有这些都在一个try.. except块中,那么如果do_1失败,我永远不会到达do_2.这是正确的方式,还是我可以except为所有d0_i行动都有一个?



1> user2357112 ..:

把它写成循环很简单:

for action in [do_1, do_2, do_3, ...]:
    try:
        action(line)
    except AppropriateExceptionType:
        pass



2> Martin Konec..:

我会考虑你的try/except陈述的公共代码.就像是:

def run_safely(f, *args):
    try:
        f(*args)
    except SpecificException:
        # handle appropriately here
        pass

with open(sys.argv[1]) as f:
   for line in f:
       run_safely(do_1, line)
       run_safely(do_2, line)
       run_safely(do_3, line)

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有