2012-10-31 27 views
5

Gibt es eine Möglichkeit, ich sage argparse nicht essen Anführungszeichen?Python Argarse Argument mit Anführungszeichen

Zum Beispiel, wenn ich ein Argument mit Anführungszeichen gebe, nimmt argparse nur, was innerhalb der Anführungszeichen als Argument ist. Ich möchte auch die Anführungszeichen erfassen (ohne sie auf der Kommandozeile zu entkommen ist.)

pbsnodes -x | xmlparse -t "interactive-00" 

interactive-00 

produziert ich will

"interactive-00" 

Antwort

9

Ich denke, es ist das ist Shell, die sie isst, so wird Python sie tatsächlich nie sehen. Es kann Ihre einzige Option sein, ihnen in der Befehlszeile zu entkommen.

Wenn es die \"backslash\" Stil entkommen Sie aus irgendeinem Grund nicht mögen, dann sollte diese Art und Weise statt arbeiten:

pbsnodes -x | xmlparse -t '"interactive-00"' 
+2

Das ist genau das der Fall. Die Shell sieht die Anführungszeichen als "nehmen Sie, was auch immer hier ist, auch wenn es Leerzeichen enthält". Und das tut es auch. Das sind Zitate für * in der Shell. – kindall

+0

Bummer. OK danke. – denvaar

Verwandte Themen