0
ich die Befehlszeilenargumente aus dem folgenden Code entfernen möchten, und geben Argumente durch CodeÄndern Funktionsargumente in Python
# Handle arguments
parser = argparse.ArgumentParser()
parser.add_argument('--target', required=True)
parser.add_argument('--policy', required=True)
parser.add_argument('--name', required=True)
parser.add_argument('--insecure', action="store_true")
parser.add_argument('--ca_bundle')
args = parser.parse_args()
# Log in
scan = rest.Scanner(url=_url, login=login, password=password, insecure=args.insecure, ca_bundle=args.ca_bundle)
# Set policy that should be used
scan.policy_set(name=args.policy)
Ich möchte den Code konvertieren, so dass ich Argumente von Code anstelle von Befehlszeile übergeben können . Eine Sache wie diese
a=target
b=policyname
c=scan_name
d=xyz
args=(a,b,c,d)
scan = rest.Scanner(url=_url, login=login, password=password, insecure=args.d, ca_bundle=args.ca_bundle)
scan.policy_set=(name=args.b)
Wie kann dies getan werden?
Nur tun, was Sie geschrieben haben? anstatt für "args" zu verwenden, benutze 'dict' though. – Marcin
Nun, es ist verflixt explizit, dass Befehlszeile args erwartet ... Sie brauchen nicht das 'parser' Objekt überhaupt, wenn Sie diese Schnittstelle nicht verwenden wollen. Wickeln Sie es stattdessen in eine Funktion. – Anonymous
Können Sie bitte ein Codebeispiel bereitstellen? – Airbourne