


Zusammenfassung der Methoden zum Abrufen von Befehlszeilenparametern in Python
Einführung in die Python-Methode zum Abrufen von Befehlszeilenparametern: getopt-Modul und argparse-Modul.
Python-Version: 2.7
1. getopt-Modul
verwendet hauptsächlich die Funktionen im Modul:
options, args = getopt.getopt(args, shortopts, longopts=[])
Parameter args: normalerweise sys.argv[1:]. Filtern Sie sys.argv[0] heraus. Dabei handelt es sich um den Namen des ausgeführten Skripts, der nicht als Befehlszeilenparameter gezählt wird.
Parameter shortopts: Analysezeichenfolge im Kurzformat. Beispiel: „hp:i:“, nach h steht kein Doppelpunkt, was bedeutet, dass es keine Parameter gibt; nach p und i stehen Doppelpunkte, was bedeutet, dass es Parameter gibt.
Parameter longopts: Analyse-String-Liste im Langformat. Beispiel: ["help", "ip=", "port="], nach help gibt es kein Gleichheitszeichen, was bedeutet, dass es keine Parameter gibt; nach ip und port steht ein Doppelpunkt, was bedeutet, dass es Parameter gibt.
Die Rückgabewertoptionen sind eine Liste mit Tupeln als Elementen. Die Form jedes Tupels ist: (Optionszeichenfolge, zusätzliche Parameter), wie zum Beispiel: ('-i', '192.168.0.1')
Der Rückgabewert args ist eine Liste, deren Elemente die Parameter sind, die weder „-“ noch „--“ enthalten.
Führen Sie den folgenden Befehl in der Befehlszeile aus:
python test_getopt.py -i 192.168.0.1 -p 80 123 a
oder
python test_getopt.py -ip=192.168.0.1 --port=80 123 a
test_getopt.py-Code lautet wie folgt:
#encoding=utf-8 import getopt import sys def main(argv): try: options, args = getopt.getopt(argv, "hp:i:", ["help", "ip=", "port="]) except getopt.GetoptError: sys.exit() for option, value in options: if option in ("-h", "--help"): print("help") if option in ("-i", "--ip"): print("ip is: {0}".format(value)) if option in ("-p", "--port"): print("port is: {0}".format(value)) print("error args: {0}".format(args)) if __name__ == '__main__': main(sys.argv[1:])
Die laufenden Ergebnisse sind wie folgt :
2. argparse-Modul
Ein Standardmodul zum Parsen von Befehlszeilenoptionen und -parametern.
Verwendungsschritte:
1: argparse importieren #Modul importieren
2: parser = argparse.ArgumentParser() #Parsing-Objekt erstellen
3: Parser .add_argument() #Fügen Sie die zum Objekt verwendeten Befehlszeilenoptionen und -parameter hinzu
4: parser.parser_args() #Parsen Sie die Befehlszeile
Nächste Details Wir stellen vor Methoden ArgumentParser und add_argument:
ArgumentParser(prog=None, using=None, description=None, epilog=None, parent=[], formatter_class=argparser.HelpFormatter, prefix_chars='-', fromfile_prefix_chars= None, argument_default=Keine,conflict_handler='error', add_help=True)
Die Parameter haben Standardwerte, wenn das Programm aufgrund falscher Parameter ausgeführt wird oder wenn die Methode parser.print_help() aufgerufen wird . Im Allgemeinen muss nur die Parameterbeschreibung übergeben werden.
add_argument(Name oder Flags... [, Aktion] [, Nargs] [, Konstante] [, Standard] [, Typ] [, Auswahlmöglichkeiten] [, erforderlich] [, Hilfe] [, Metavar] [, Ziel])
Die allgemeinen Parameter werden wie folgt erklärt:
Name oder Flags: Name oder Option des Befehlszeilenparameters, z. B. -p, --port
Aktion:
Store: Der Standardaktionsmodus, speichert den Wert in der angegebenen Variablen
Store_const: Der gespeicherte Wert wird im const-Teil des Parameters angegeben, der häufig zur Implementierung von nicht-booleschen Werten verwendet wird Befehlszeilenflags
store_true/store_false: Boolescher Schalter. Der Standardwert von store_true ist False. Wenn der boolesche Schalter in der Befehlszeile eingegeben wird, ist der Wert True. store_false ist das Gegenteil
Anhängen: Speichert den Wert in der Liste, dieser Parameter kann wiederverwendet werden
Append_const: Speichert den Wert in der Liste, der gespeicherte Wert wird im const-Teil von angegeben Parameter
Anzahl: Statistik Die Anzahl der Eingabeparameterabkürzungen
Version: Versionsinformationen ausgeben und dann das Skript beenden
nargs: Die Anzahl der Befehlszeilenparameter im Allgemeinen dargestellt durch Platzhalter: ? bedeutet, dass nur einer verwendet wird, * bedeutet 0 bis mehr, + bedeutet 1 bis mehr
Standard: Standardwert
Typ: Parametertyp, der Standardwert ist String-Typ, er kann auch Float sein, Typen wie int und boolean
Auswahlmöglichkeiten: Bereich der Eingabewerte
erforderlich: Standard ist False. Wenn True, bedeutet dies, dass der Parameter eingegeben werden muss
Hilfe : Hilfeaufforderung zur Verwendung von Information
Ziel: Der entsprechende Variablenname des Parameters im Programm, z. B.: add_argument("-a", dest="code_name"), verwenden Sie parser.code_name im Skript, um Greifen Sie auf den Wert der Befehlszeilenoption zu
Der Beispielskriptcode test_argparse.py lautet wie folgt:
1 #encoding=utf-8 2 import argparse 3 4 def main(args): 5 print("--address {0}".format(args.code_address)) #args.address会报错,因为指定了dest的值 6 print("--flag {0}".format(args.flag)) #如果命令行中该参数输入的值不在choices列表中,则报错 7 print("--port {0}".format(args.port)) #prot的类型为int类型,如果命令行中没有输入该选项则报错 8 print("-l {0}".format(args.log)) #如果命令行中输入该参数,则该值为True。因为为短格式"-l"指定了别名"--log",所以程序中用args.log来访问 9 10 if __name__ == '__main__':11 parser = argparse.ArgumentParser(usage="it's usage tip.", description="help info.")12 parser.add_argument("--address", default=80, help="the port number.", dest="code_address")13 parser.add_argument("--flag", choices=['.txt', '.jpg', '.xml', '.png'], default=".txt", help="the file type")14 parser.add_argument("--port", type=int, required=True, help="the port number.")15 parser.add_argument("-l", "--log", default=False, action="store_true", help="active log info.")16 17 args = parser.parse_args()18 main(args)
Führen Sie jeweils die folgenden Befehle aus:
python test_argparse.py
python test_argparse.py --port 80
python test_argparse.py - -port 80 --flag apk
python test_argparse.py --port 80 -l
Weitere Python-Methoden zum Abrufen von Befehlszeilenparametern und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Verwenden Sie Python im Linux -Terminal ...

Fastapi ...
