AttributeError: 'NoneType' object has no attribute 'group'

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
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Hallo,

vielleicht kann mir hier ja wer helfen. hab mir da ein Script gesaugt und an folgender Stelle passiert immer dieser Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "/usr/local/bin/gmailfs.py", line 241, in __init__
    matchInode = m.group(2)
AttributeError: 'NoneType' object has no attribute 'group'

Code: Alles auswählen

def __init__(self, msg,ga):
        try:
            self.version = 2
            self.ino = 0
            self.mode = 0
            self.dev = 0
            self.nlink = 0
            self.uid = 0
            self.gid = 0
            self.size = 0
            self.atime = 0
            self.mtime = 0
            self.ctime = 0
            self.blocksize = DefaultBlockSize
            self.ga = ga
            self.msg = msg
            m = re.match(VersionTag+'=(.*) '+RefInodeTag+'=(.*) '+FsNameTag+'='+MagicStartDelim+'(.*)'+MagicEndDelim,msg.subject)
            matchInode = m.group(2)
Danke
Stolzi
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dein re.match findet halt nix und von daher ist m == None

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Kann ich was tun, daß er hier nicht mit einem Fehler abbricht?

Danke
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Code: Alles auswählen

m = re.match(...)
if m:
    ...
BlackJack

Damit umgehst Du das Problem das an dieser Stelle die Ausnahme ausgelöst wird, aber anscheinend sollte es einen "Match" geben, also was machst Du im ``else``-Zweig!? Ich würde dort ja eine Ausnahme auslösen. ;-)
Antworten