[Python-de] str in andere Typen wandeln

Andreas Pakulat apaku at gmx.de
Mit Feb 1 17:03:52 CET 2006


On 01.02.06 08:01:07, "Martin v. Löwis" wrote:
> Andreas Pakulat wrote:
> > Stimmt, der allgemeine Fall ist nicht ganz so einfach wie hier. Ich hab
> > aber XML-Schema-booleans und die duerfen nur 4 Zustaende annehmen, alles
> > andere ist (bei mir) False.
> 
> Genau. *Wenn* es in Python eine Funktion gäbe, würde die vermutlich
> nicht die Schema-Werte unterstützen, sondern eher "True" und "False".

Siehe andere Teile, eval() kann das wohl...

> MaW: Du müsstest Dir in jedem Fall eine eigene Funktion schreiben;
> ich würde es so formulieren
> 
> schema_bools = {"false":0, "0": 0, "true":1, "1":1 }
> def schema_bool(s):
>     return schema_bools[s.strip()]

Jupp.

> (ich glaube, Leerzeichen am Anfang und Ende eines xsd:boolean-Literals
> sind erlaubt, oder?)

Ich denke.

> Dass der Rest (also etwa "Andreas") bei Dir False ist finde ich nur
> mehr verwirrend: eigentlich liegt doch dann eine Schema-Verletzung
> vor, oder?

Stimmt schon, aber ich validiere das XML im Moment sowieso noch nicht
gegen ein Schema. Das XML-Schema ist erstmal nur dazu da gewesen mir
ueber die Struktur der XML-Datei klar zu werden und die Datentypen ein
wenig zu dokumentieren...

> Eine in Python vordefinierte Funktion würde sich nie so
> verhalten (errors should never pass silently).

Das stimmt allerdings...

Andreas

-- 
Beauty and harmony are as necessary to you as the very breath of life.