Die Antwort ist ja . Ein kurzer Blick auf the argparse documentation hätte auch geantwortet.
Hier ist ein sehr einfaches Beispiel, argparse ist in der Lage, viel spezifischere Bedürfnisse zu behandeln.
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo', '-f', help="a random options", type= str)
parser.add_argument('--bar', '-b', help="a more random option", type= int, default= 0)
print(parser.format_help())
# usage: test_args_4.py [-h] [--foo FOO] [--bar BAR]
#
# optional arguments:
# -h, --help show this help message and exit
# --foo FOO, -f FOO a random options
# --bar BAR, -b BAR a more random option
args = parser.parse_args("--foo pouet".split())
print(args) # Namespace(bar=0, foo='pouet')
print(args.foo) # pouet
print(args.bar) # 0
Weg vom Kurs in einem echten Skript, werden Sie nicht hart Code der Befehlszeilenoptionen und parser.parse_args()
(ohne Argument) nennen statt. Es wird Argarse die sys.args
Liste als Befehlszeilenargumente nehmen.
können Sie dieses Skript nennen diese Art und Weise:
test_args_4.py -h # prints the help message
test_args_4.py -f pouet # foo="pouet", bar=0 (default value)
test_args_4.py -b 42 # foo=None, bar=42
test_args_4.py -b 77 -f knock # foo="knock", bar=77
Sie werden durch das Lesen der doc eine Menge anderer Features entdecken;)
keine gute Kopie finden, aber überprüfen Sie hier einige Beispiele: http://stackoverflow.com/questions/11415570/directory- path-types-with-argparse –