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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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 ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

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 ;)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten