Seite 1 von 1
List argument fuer Python
Verfasst: Montag 20. Dezember 2010, 12:04
von thomas15
Hallo,
ich rufe mein python so auf:
Exec name ist
pyDev
Dann habe ich ein python script 'bin', welches mehrere parameter bekommt. Es wird natuerlich ueber
in der ersten Zeile gestartet.
Mit dem Argument '-s' moechte ich eine Liste von 6 ints uebergeben, also
Bekomme aber
Was ist da los?
Mit anderen Parametern
funktionierts.
Danke schonmal!
Re: List argument fuer Python
Verfasst: Montag 20. Dezember 2010, 12:31
von Hyperion
Vermutlich werden "[" und "," von der Shell anders behandelt und führen zu dem Fehler. Hast Du das mal in Anfürungsstriche gesetzt? Zudem: Dir ist schon klar, dass Python das nicht "parsen" kann und Du kein Listenobjekt vom Interpreter serviert bekommst?
Re: List argument fuer Python
Verfasst: Montag 20. Dezember 2010, 12:41
von thomas15
Hyperion hat geschrieben:Vermutlich werden "[" und "," von der Shell anders behandelt und führen zu dem Fehler. Hast Du das mal in Anfürungsstriche gesetzt? Zudem: Dir ist schon klar, dass Python das nicht "parsen" kann und Du kein Listenobjekt vom Interpreter serviert bekommst?
Hi Hyp,
ja, ich habs schon in ' und " gestellt. Gleicher Fehler.
Ich muss leider hier csh benutzen, denn in bash frisst ers.
Das mit dem parsen passiert intern mit eval.
Sonst jemand Indeen?
Re: List argument fuer Python
Verfasst: Montag 20. Dezember 2010, 13:46
von thomas15
thomas15 hat geschrieben:Hyperion hat geschrieben:Vermutlich werden "[" und "," von der Shell anders behandelt und führen zu dem Fehler. Hast Du das mal in Anfürungsstriche gesetzt? Zudem: Dir ist schon klar, dass Python das nicht "parsen" kann und Du kein Listenobjekt vom Interpreter serviert bekommst?
der befehl geht in der csh mit
allerdings bekomme ich mit eval(argument) ein tupel. ist aber nicht weiter schlimm in meinem fall.
danke soweit!
Re: List argument fuer Python
Verfasst: Montag 20. Dezember 2010, 13:48
von numerix
thomas15 hat geschrieben:allerdings bekomme ich mit eval(argument) ein tupel.
Code: Alles auswählen
>>> a = 1,2,3
>>> type(a)
<type 'tuple'>
>>> a = list(a)
>>> type(a)
<type 'list'>
Re: List argument fuer Python
Verfasst: Montag 20. Dezember 2010, 13:52
von Hyperion
Dir ist natürlich klar, dass eval speziell in diesem Falle gefährlich ist?