热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

'_sre.SRE_Match'对象不可下标

如何解决《'_sre.SRE_Match'对象不可下标》经验,为你挑选了1个好方法。

我具有以下语法,但是每当在3.6中运行时,都会抛出错误:'_sre.SRE_Match'对象不是可下标的脚本在python3.7中工作正常,但在python3.6中出错

if {host}.issubset(sg_data['hosts'].split(',')):
    saved_sg = [x for x in recorded_state if x['sg'] == sg_data['id'] and x['host'] == host][0]['data']
    dec_saved_data = json.loads(self.encryption.decrypt(saved_sg).decode())
    if sg_data['display_state'].lower() == 'offline':
        if dec_saved_data['display_state'].lower() != 'offline':
            yield from self.set_online(sg_data, host)
    else:
        parsed_host = re.search('^.*\((.*)\).*$', sg_data['display_state'])
        if sg_data['display_type'].lower() == 'parallel':
            if parsed_host:
                if not {host}.issubset(parsed_host.group(1).split(',')):
                    yield from self.set_online(sg_data, host)
        else:
            if dec_saved_data['display_state'].lower() == 'offline':
                yield from self.set_offline(sg_data, host)
            else:
                parsed_saved_host = re.search('^.*\((.*)\).*$', dec_saved_data['display_state'])
                if parsed_saved_host:
                    if not {parsed_host[0]}.issubset(parsed_saved_host.group(1).split(',')):
                        yield from self.set_switch(sg_data, host)

    if dec_saved_data['frozen'] != sg_data['frozen']:
        if dec_saved_data['frozen'] == 0 and sg_data['frozen'] > 0:
            yield from self.set_unfreeze(sg_data)
        elif dec_saved_data['frozen'] > 0 and sg_data['frozen'] == 0:
            yield from self.set_freeze(sg_data)

    current_sg_state = sg_data['display_state']
    lastest_sg_state = dec_saved_data['display_state']

    parsed_current_sg_state = re.search('^.*\((.*)\).*$', sg_data['display_state'])
    parsed_lastest_sg_state = re.search('^.*\((.*)\).*$', dec_saved_data['display_state'])

    if parsed_current_sg_state:
        current_sg_state = parsed_current_sg_state.group(1)

    if parsed_lastest_sg_state:
        lastest_sg_state = parsed_lastest_sg_state.group(1)

blhsing.. 5

您的行在这里:

if not {parsed_host[0]}.issubset(parsed_saved_host.group(1).split(',')):

试图访问项目0parsed_host,一个Match对象。

由于该Match.__getitem__()方法是根据文档从Python 3.6开始实施的,因此您的代码应在Python 3.6中运行,如果遇到'_sre.SRE_Match' object is not subscriptable错误,则意味着您实际上并未在使用Python 3.6,而是在使用早期版本。

将行更改为:

if not {parsed_host.group(0)}.issubset(parsed_saved_host.group(1).split(',')):

并且该代码适用于Python的早期版本。



1> blhsing..:

您的行在这里:

if not {parsed_host[0]}.issubset(parsed_saved_host.group(1).split(',')):

试图访问项目0parsed_host,一个Match对象。

由于该Match.__getitem__()方法是根据文档从Python 3.6开始实施的,因此您的代码应在Python 3.6中运行,如果遇到'_sre.SRE_Match' object is not subscriptable错误,则意味着您实际上并未在使用Python 3.6,而是在使用早期版本。

将行更改为:

if not {parsed_host.group(0)}.issubset(parsed_saved_host.group(1).split(',')):

并且该代码适用于Python的早期版本。


推荐阅读
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
author-avatar
耿世述_511
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有