[Python-de] String in Liste wandeln

Tomek Meka tmeka at gmx.net
Don Mar 11 14:26:12 CET 2004


Hallo!
Ich glaube, es ist nicht mit regulären Ausdrücken zu parsen, wegen der
Verschachtelung der Listen. Du muss auf einen Parser zugreifen, vieles
darüber (in Python) findest Du unter http://gnosis.cx/TPiP/
Du kannst auch auf den Python-Tokenizer (Modul tokenizer) zugreifen, ich
weiss aber nicht, ob das unbedingt einfacher ist :-(

Grüße,
Tomek

On Mon, 2004-03-08 at 17:24, Oliver Kurz wrote:
> Hi, 
> 
> vielleicht hat schon jemand von euch dieses Problem gehabt und kann mir einen Tip oder Lösung geben.
> 
> Ich habe einen String der in etwa so aufgebaut ist
> 
> s='[["abc","abc",["abc","abc"],"abc"],["abc","abc",["abc","abc"],["abc",["abc","abc"]],"abc"],"abc"]'
> 
> Den möchte ich nun in eine Liste konvertieren. Das einfachste ist wohl:
> 
> l=eval(s)
> 
> Was dann zu dem hier führt.
> [['abc', 'abc', ['abc', 'abc'], 'abc'], ['abc', 'abc', ['abc', 'abc'], ['abc', ['abc', 'abc']], 'abc'], 'abc']
> 
> Aber ich brauche eine Lösung ohne eval/exec. Hat da jemand etwas bei der Hand?
> 
> -- 
> --
> Oliver Kurz
> 
> 
> _______________________________________________
> python-de maillist  -  python-de at python.net
> http://python.net/mailman/listinfo/python-de
-- 
Tomek Meka - <tmeka at gmx.net>
......................................................................
"It is impossible to speak in such a way that you cannot be
misunderstood." (Karl Popper)