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

  • Überprüfen Sie, ob argparse optionales Argument gesetzt ist oder nicht
  • Festlegen von Standard-Dateinamen mit argparse, aber nicht öffnen sie auf --help?
  • Python argparse Optionales Argument funktioniert nur, wenn es in die richtigen Positionen eingetragen ist
  • Python, argparse: Eingabe des Eingabeparameters, wenn ein anderer angegeben wurde
  • Python argparse benutzerdefinierte Aktionen mit zusätzlichen Argumenten übergeben
  • Argparse optionaler subparser (für --version)
  • 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.