加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 尝试/除了块声明多个值

发布时间:2020-12-20 11:43:16 所属栏目:Python 来源:网络整理
导读:我正在尝试编写一个try / except块,它声明了两个通过ConfigParser检索其值的变量.我遇到的问题是,声明的一个或两个值可能不存在于特定部分下,并且在这种情况下应该设置为None.我知道我可以简单地将值添加到每个配置文件中,但是,并非所有配置在部分名称中都是
我正在尝试编写一个try / except块,它声明了两个通过ConfigParser检索其值的变量.我遇到的问题是,声明的一个或两个值可能不存在于特定部分下,并且在这种情况下应该设置为None.我知道我可以简单地将值添加到每个配置文件中,但是,并非所有配置在部分名称中都是一致的,这变成了一项非常繁琐的任务.

有没有更好的方法来实现以下try / except块而不将它们分成两个独立的块?

try:
    ports = getCfgStr(sectName,'ports')
    terminal = getCfgStr(sectName,'terminals')
except KeyError:
    # Need to set ports or terminal to None depending on which raised the KeyError

我的解决方案:

try:
    ports = getCfgStr(sectName,'ports')
except KeyError:
    ports = None

try:
    terminals = getCfgStr(sectName,'terminals')
except KeyError:
    terminals = None

解决方法

有趣的问题!

这个怎么样:

def lookup(param):
    try:
        return getCfgStr(sectName,param)
    except KeyError:
        return None

ports = lookup('ports')
terminal = lookup('terminals')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读