2010-01-14 3 views
3

J'écris un générateur XML par demande de mon manager. Pour des raisons de typage, j'ai décidé d'utiliser ElementTree comme analyseur et SimpleXMLWriter comme rédacteur.Comment utiliser "class" le mot comme paramètre fonction appelle en python

Le résultat XML nécessite des attributs nommés "class". par exemple.

<Node class="oops"></Node> 

Comme le tutoriel officiel suggéré, d'écrire un nœud XML il suffit d'utiliser cette méthode:

w.element("meta", name="generator", value="my application 1.0") 

J'écrit:

w.element("Node", class="oops") 

python ne bâillements SyntaxError. De l'aide?

Répondre

7

Je suppose que les développeurs SimpleXMLWriter signifiait cette solution:

w.element("Node", None, {'class': 'oops'}) 

ou

w.element("Node", attrib={'class': 'oops'}) 
3

class est un mot réservé en Python. Vous ne pouvez pas l'utiliser pour un nom de variable, pas plus que vous pouvez avoir une variable appelée class en C++. L'abréviation usuelle pour class est klass ou cls.

Voici une liste officielle des mots réservés en Python:

http://docs.python.org/reference/lexical_analysis.html#keywords

+0

Je Je suis conscient de cela. Merci de me rappeler XD. – nil

5

Ce que steveha a écrit est vrai. Comme dans n'importe quelle langue, les mots-clés ne peuvent pas être utilisés à des fins différentes.

Qu'est-ce que vous pouvez faire, si vous devez utiliser "classe" est la suivante:

w.element("Node", **{'class': 'oops'}) 
+0

merci! vous sauvez la journée. – nil

Questions connexes