Seite 1 von 1

TypeError: object of type '_sre.SRE_Pattern' has no len()

Verfasst: Freitag 12. August 2011, 12:05
von jens
Was ist das:

Code: Alles auswählen

  File "/usr/lib/python2.7/re.py", line 273, in _subx
    template = _compile_repl(template, pattern)
  File "/usr/lib/python2.7/re.py", line 258, in _compile_repl
    p = sre_parse.parse_template(repl, pattern)
  File "/usr/lib/python2.7/sre_parse.py", line 694, in parse_template
    s = Tokenizer(source)
  File "/usr/lib/python2.7/sre_parse.py", line 181, in __init__
    self.__next()
  File "/usr/lib/python2.7/sre_parse.py", line 183, in __next
    if self.index >= len(self.string):
TypeError: object of type '_sre.SRE_Pattern' has no len()
EDIT: Hat sich erledigt, war mein Fehler ;)

Re: TypeError: object of type '_sre.SRE_Pattern' has no len(

Verfasst: Freitag 12. August 2011, 12:18
von derdon
Es wäre nett, wenn du schreibst, welchen Fehler du gemacht hast und wie du ihn gelöst hast. Erstmal, weil es Leute gibt, die vielleicht den gleichen Fehler gemacht haben und daher über eine Google-Suche mittels "'_sre.SRE_Pattern' has no len()" o.ä. hierher finden und zweitens, weil ich jetzt einfach neugierig geworden bin ;)

Re: TypeError: object of type '_sre.SRE_Pattern' has no len(

Verfasst: Freitag 12. August 2011, 12:31
von jens
Ich hab quasi das gemacht:

Code: Alles auswählen

search   = re.compile("{% url '([^ ]+?)' %}")
replace  = re.compile("{% url \g<1> %}")
new_content = search.sub(replace, old_content)
richtig wäre aber:

Code: Alles auswählen

search   = re.compile("{% url '([^ ]+?)' %}")
replace  = "{% url \g<1> %}"
new_content = search.sub(replace, old_content)
:lol: