Seite 1 von 1

argparser Argument wird nur im Debugmodus akzeptiert

Verfasst: Montag 1. März 2021, 14:58
von nieselfriem
Hallo,

ich schreibe gerade ein Monitoring script bei dem ich den Argpasrser für CLI Parameter verwenden will. Das hat bei dem Skript auch soweit ganz gut funktioniert. Nun habe ich weiter Argumente dazu geschrieben, die dann komplett als nichtexistent qutitiert werden. Starte ich das Script mit dem Debugger funktioniert die ausführung und das Argument -k wird akzeptiert.

Code: Alles auswählen


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-k", "--ksqldb", help="Monitoring for ksqldb ", type=bool)
    parser.add_argument(
        "-B", "--broker", help="Number of a Kafka Broker", type=int)
    parser.add_argument(
        "-N", "--brokers", help="Numbers of Kafka Brokers", type=int)
    parser.add_argument(
        "-Z", "--zookeeper", help="Numbers of a Kafka Zookeper", type=int)
    parser.add_argument(
        "-z", "--zookeepers", help="Numbers of Kafka Zookeper", type=int)
    parser.add_argument("-r", "--registry", help="Monitoring the kafka schema registry", type=bool)
    parser.add_argument("-M", "--metric", help="Name of Metric", type=str)
    parser.add_argument("-w", "--warning", help="warning threshold")
    parser.add_argument("-c", "--critical", help="critical threshold")
    print("###############")
    args = parser.parse_args()
    print(vars(args))
für bei ausführung

Code: Alles auswählen

python /home/nrpe/check_kafka.py -k True
usage: check_kafka.py [-h] [-B BROKER] [-N BROKERS] [-Z ZOOKEEPER]
                      [-z ZOOKEEPERS] [-r REGISTRY] [-M METRIC] [-w WARNING]
                      [-c CRITICAL]
check_kafka.py: error: unrecognized arguments: -k True
zu

Code: Alles auswählen

check_kafka.py: error: unrecognized arguments: -k True
Führe sich das gleiche scipt mit dem debugger aus:

Code: Alles auswählen

python -m pdb check_kafka.py -k True
regiert das Script wie erwartet und ich bekomme die gewünschte Ausgabe

Ich bin da etwas ratlos

VG

Re: argparser Argument wird nur im Debugmodus akzeptiert

Verfasst: Montag 1. März 2021, 15:51
von __blackjack__
@nieselfriem: Ein offensichtlicher Unterschied bei den beiden Aufrufen ist /home/nrpe/check_kafka.py vs. check_kafka.py — sicher dass das beides das *selbe* Skript startet?

Re: argparser Argument wird nur im Debugmodus akzeptiert

Verfasst: Montag 1. März 2021, 16:14
von nieselfriem
Ach schei..... Oh man, da habe ich mich gerade der Peinlichkeit preisgegeben.

Danke ;)