当前位置: 首页 > 面试题库 >

TypeError:“ _ sre.SRE_Match”对象没有属性“ __getitem__”

曹华荣
2023-03-14
问题内容

我目前收到此错误,不知道是什么意思。它是一个python项目,这是我看到的错误:

  File "/bp_scraper/bp_scraper/httpmiddleware.py", line 22, in from_crawler
    return cls(crawler.settings)
  File "/bp_scraper/bp_scraper/httpmiddleware.py", line 12, in __init__
    if parts[1]:
TypeError: '_sre.SRE_Match' object has no attribute '__getitem__'

代码:

import re
import random
import base64
from scrapy import log
class RandomProxy(object):
    def __init__(self, settings):
        self.proxy_list = settings.get('PROXY_LIST')
        f = open(self.proxy_list)

        self.proxies = {}
        for l in f.readlines():
            parts = re.match('(\w+://)(\w+:\w+@)?(.+)', l)

            if parts[1]:
                parts[1] = parts[1][:-1]

            self.proxies[parts[0] + parts[2]] = parts[1]

        f.close()
    @classmethod
    def from_crawler(cls, crawler):
        return cls(crawler.settings)

在此先感谢你的帮助!


问题答案:

re.match调用的结果是一个SRE_Match对象,该对象不支持[]运算符(aka __getitem__)。我想你要

if parts is not None:
    if parts.group(1):
        <blah>

不幸的是,parts.group(1)它不是可变的,因此你必须创建另一个变量来保存要对其进行的更改。



 类似资料:
  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 问题内容: 它显示了运行时错误: 我只是python的初学者,即使在网上搜索后也无法纠正此问题。 问题答案: 错误: 表示您正在尝试将索引运算符应用于int而不是列表。所以即使在应该的时候也没有清单吗?让我们从那开始。 看这里: 在内部使用其他变量名称,看起来列表理解会在迭代过程中覆盖该变量。(不是在设置时 进行 迭代,而是在以下过程中进行。)

  • 问题内容: 我收到错误 当我在管理界面中保存新的CampCon条目时。我有一个名为Campsites的应用程序,它可以处理露营地的数据库,还有另一个名为Content的应用程序,它可以处理评论。我对Django非常陌生,这是我的第一个基于非教程的项目。我一直在绞尽脑汁,在网上搜索一个没有运气的答案。预先感谢您的帮助。这是我的露营地模型: 这是内容模型: 这是完整的回溯: 问题答案: 您的问题是您的

  • 问题内容: 我将Selenium webdriver(chrome)与Python结合使用,试图从网页上的所有链接中获取 href 。当我尝试以下操作时: 它设法获取所有链接,但是在get_attribute上出现错误: “ WebElement”对象没有属性“ Get_Attribute” 尽管到处都看起来很正常。 问题答案: “ Get_Attribute”属性不存在,但是“ get_attr