Variable kommt nicht an

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
nathan6
User
Beiträge: 17
Registriert: Montag 7. September 2015, 17:25

Hallo,

es ist etwas schwer mein Problem zu beschreiben da ich noch nicht so viel mit Python zu tun hatte, nur mit PHP.
Bis zur hälfte funktioniert mein script, nur "x" kommt irgendwie nicht da an wo ich es brauche:

Code: Alles auswählen

    def questsShow(self):
        for q in self.message.questData:
            if q.numObjectives > 0:
               a = ['"' + str(q.questID) + '"']
               for x in a:
                   print x                                    # bis hierher stimmt alles, die Ausgabe ist so wie ich sie brauche
                   for file in glob.glob("xml/*quests*"):
                       root = lxml.etree.parse(file)
                       for c in root.iter('Quest'):
                           if c.get('id') == x:             # hier sollten eigentlich die IDs ankommen (zB: "2701", "2702", usw) tun sie aber nicht
                              print c.get('id')
                              print c.get('name')
Warum kommen die IDs nicht dort an ?
Wenn ich

Code: Alles auswählen

if c.get('id') == x:
in

Code: Alles auswählen

if c.get('id') == "2701":
ändere, funktioniert es.

Gruß
Nathan6
Zuletzt geändert von Anonymous am Sonntag 14. Mai 2017, 22:32, insgesamt 2-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@nathan6:

Code: Alles auswählen

In [4]: "2701" == '"2701"'
Out[4]: False
Du solltest halt nicht Anführungszeichen um die ID basteln wenn die ID gar keine Anführungszeichen enthält.
nathan6
User
Beiträge: 17
Registriert: Montag 7. September 2015, 17:25

Ja, aber um die ID in der XML Datei zu finden brauche ich die Anführungszeichen sonst funktioniert es nicht.
__deets__
User
Beiträge: 14540
Registriert: Mittwoch 14. Oktober 2015, 14:29

Unsinn. Du findest die Id mit 'id' weil das Attribut so heißt. Mit der in x gespeicherten hat das nix zu tun.
nathan6
User
Beiträge: 17
Registriert: Montag 7. September 2015, 17:25

Stimmt, jetzt klappt es. Man hätte ich auch selber drauf kommen können :K

Danke
Antworten