Argparse in python3.2.3 auf windows 7 scheint nicht zu analysieren

Seit ich Python auf Windows läuft, hier ist das nächste Problem, das ich mit argparse begegnet habe und für das ich keine Lösung gesehen habe. Ich verwende optparse vorher. Hier ist mein Code:

import argparse parser = argparse.ArgumentParser( description = 'Test description') # main description for help parser.add_argument('-d', '--dir', # -u or --user option dest = "dir", help = 'directory to start with') args = parser.parse_args() print(args.dir) 

Aber wenn ich diesen Code mit entweder laufen

 code.py -d test code.py --dir test 

Ich bekomme immer eine None als Ausgabe. Ich glaube, das ist etwas Triviales, und etwas offensichtlich habe ich übersehen, aber ich kann es nicht sehen.

Tanks

Alex

  • Ursache Python's argparse, um Aktion für Standard auszuführen
  • Argparse: Benötigtes Argument 'y', wenn 'x' vorhanden ist
  • Argparse fehlt in python 3
  • Argparse Pythonmodule in cli
  • Mit "argparse" im Gegensatz zu sys.argv
  • Keine doppelten Optionen in print_help () aus argparse anzeigen
  • One Solution collect form web for “Argparse in python3.2.3 auf windows 7 scheint nicht zu analysieren”

    Das Problem scheint von Windows verursacht zu werden und wie der Code versucht wird, auf der Befehlszeile ausgeführt zu werden. Im angegebenen Beispiel wurde das Test-Skript direkt auf der Kommandozeile aufgerufen, ohne python vor dem Code, wie in dieser Antwort vorgeschlagen .

    Wenn der Code wie folgt ausgeführt wird

     python code.py 

    Das erwartete Verhalten wird gesehen, und die Argumente werden korrekt im Code analysiert.

    So ist entweder das Setup des Windows-Systems stil unvollständig, oder der Vorschlag in der oben genannten Link ist unvollständig.

    Python ist die beste Programmiersprache der Welt.