为了账号安全,请及时绑定邮箱和手机立即绑定

如何找出变量的状态/内容/值

如何找出变量的状态/内容/值

qq_花开花谢_0 2022-05-24 17:20:58
我通过 websocket 捕获数据。这里变成body,body里面的meta,meta里面的frame_port。但并不是每个元都有一个 frame_port。当我做frameport = response["body"]["meta"]["frame_port"]如果有框架端口,我将成为框架端口然后我尝试设置 frameport = 1 如果 meta 中没有 frame_port,但在这里我需要帮助。如果我执行以下操作,我根本不会得到任何打印,而不是在 try/excpet 块之前和之后。所以这个 try/excpet 不起作用。知道如何检查 meta 内是否有 frame_port 以及是否未设置为 0?try:   frameportexcept NameError:   print("no frameport defined")   frameport = 1print("frameport is:" (frameport))
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

使用字典的get默认值:


frameport = response["body"]["meta"].get("frame_port", 1)

请注意,这仅涵盖密钥不存在的情况。如果是这样,但包含您不想要的值,比如说None和 0,则该值需要单独处理:


frameport = response["body"]["meta"].get("frame_port", 1)

if frameport is None or frameport == 0:

    frameport = 1

就您的 try/catch 尝试而言,它不起作用,因为这一行:


frameport

无论价值如何,都不会抛出任何frameport异常


查看完整回答
反对 回复 2022-05-24
?
ibeautiful

TA贡献1993条经验 获得超5个赞

get似乎它对你想要做的事情很方便:

frameport = response["body"]["meta"].get("frame_port", 1)

如果没有键"frame_port",则frameport变量将设置为 1。


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信