Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind die Python-Befehlszeilenparameter?

Was sind die Python-Befehlszeilenparameter?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-25 09:30:196230Durchsuche

Was sind die Python-Befehlszeilenparameter?

Was sind die Python-Befehlszeilenparameter? Lassen Sie mich Ihnen eine detaillierte Einführung in die Befehlszeilenparameter geben:

sys.argv

Sie können auch sys's sys.argv in verwenden Python. Befehlszeilenparameter abrufen:

sys.argv ist die Befehlszeilenparameterliste.

len(sys.argv) ist die Anzahl der Befehlszeilenparameter.

sys.argv[0] ist der Name der Skriptdatei, wie zum Beispiel: test.py

sys.argv[1:] ist eine durch Leerzeichen getrennte Parameterliste

getopt

Funktionsprototyp:

getopt(args, shortopts, longopts = [])

Parameter:
args: Parameter, die analysiert werden müssen, normalerweise sys.argv[1:]
shortopts: Kurzformat (-), mit Doppelpunkt: Zeigt an, dass der Parameterwert nach dem Parameter erforderlich ist, ohne Doppelpunkt, was bedeutet, dass nach dem Parameter kein Parameterwert erforderlich ist
longopts: Langformat (--), mit ein Gleichheitszeichen, das angibt, dass der Parameterwert nach dem Parameter erforderlich ist, ohne Gleichheitszeichen, das angibt, dass nach dem Parameter kein Parameter erforderlich ist. Wert
Rückgabewert:
Optionen ist eine Liste mit Vorfahren Analysierte Formatinformationen wie [('-i','127.0.0.1'),('-p','80 ')] ;
args ist eine Liste, einschließlich der Parameter ohne '-' oder '- -', wie zum Beispiel: ['55','66']

Verwandte Empfehlungen: „Python-Video-Tutorial

Beispiel:

import sys
import getopt
try:    
    options,args = getopt.getopt(sys.argv[1:],"hp:i:", ["help","ip=","port="])
except getopt.GetoptError:    
    sys.exit()
for name,value in options:   
    if name in ("-h","--help"):        
        usage()    
    if name in ("-i","--ip"):        
        print 'ip is----',value    
    if name in ("-p","--port"):        
    print 'port is----',value
python test.py -i 127.0.0.1 -p 80 55 66
python test.py --ip=127.0.0.1 --port=80 55 66

„hp:i:“
Kurzformat --- Kein Doppelpunkt nach h: bedeutet keine Parameter, p: und i: Dahinter steht ein Doppelpunkt, der darauf hinweist, dass Parameter später benötigt werden
["help"," ip=","port="]
Langformat --- Es gibt kein Gleichheitszeichen = nach der Hilfe, was bedeutet, dass dahinter keine Parameter stehen, und die anderen drei Es gibt =, was darauf hinweist, dass Parameter später erforderlich sind
Hinweis: Beim Definieren von Befehlszeilenparametern müssen Sie zuerst Parameter mit der Option „-“ definieren und dann Parameter ohne „-“ definieren

optparse

Klasse OptionParser

class optparse.OptionParser(usage=None, 
                 option_list=None,
                 option_class=Option,
                 version=None,
                 conflict_handler="error",
                 description=None,
                 formatter=None,
                 add_help_option=True,
                 prog=None,
                 epilog=None)

Parameter:

Verwendung: Verwendungsanweisungen des Programms, wobei „%prog“ durch den Dateinamen (oder das Prog-Attribut, wenn das Prog-Attribut ein angegebener Wert ist) ersetzt wird, „[Optionen]“ wird durch die Anweisungen für jeden Parameter ersetzt
Version: Versionsnummer

Funktion add_option()

add_option(short, long, action, type, dest, default, help)

Parameter:
Kurz Optionszeichenfolge: ist der erste Parameter, der die Abkürzung der Option angibt, z. B. -f;
lange Optionszeichenfolge: ist der zweite Parameter, der die vollständige Schreibweise der Option angibt, z. B. --file;
action=: Gibt die Verarbeitungsmethode für diese Option an. Der Standardwert ist „store“, was bedeutet, dass der Wert der Option in den Mitgliedern des analysierten Optionsobjekts gespeichert wird.

Aktion kann auch andere Werte haben: Verwenden Sie für boolesche Werte standardmäßig „store_true“, um „true“ zu speichern, „store_false“, um standardmäßig „false“ zu speichern, „store_const“ wird verwendet, um den von „const“ für diese Option festgelegten Wert zu speichern, und fügen Sie Mittel an Hinzufügen von Parametern zur Option in der Liste. Zu diesem Zeitpunkt ist die Option eine Liste, die mehrere Werte enthalten kann, und Rückruf bedeutet, dass die angegebene Funktion aufgerufen wird. Alle Aktionswerte lauten wie folgt:
store + store_true + store_false + store_const + append + count + callback

type=: Gibt den Typ des Werts dieser Option an, der Standardwert ist string, und kann als string, int, choice, float und complex angegeben werden;
dest=: Gibt den Namen des Mitglieds dieser Option im vom optionparser analysierten Optionsobjekt an. Der Standardwert ist long option string; Gibt die Verwendungsanweisungen dieses Parameters an;
default=: gibt den Standardwert der Option an;
const=: gibt den Standardwert der in der Hilfe angezeigten Option an; Wert muss festgelegt werden;
choices=: Wenn Sie den Typ auf „Auswahl“ setzen, müssen Sie diesen Wert festlegen:

function parse_args

(options, args) = parser.parse_args()
Rückgabewert:

Optionen ist ein Verzeichnis, dessen Inhalt aus Schlüssel-Wert-Paaren „Parameter/Wert“ besteht.

args ist eine Liste, ihr Inhalt ist der verbleibende Eingabeinhalt nach dem Ausschließen von Optionen aus allen Parametern.

Einfache Verwendung:

from optparse import OptionParser  
  
parser = OptionParser(usage="usage:%prog [options] arg1 arg2")  
parser.add_option("-t", "--timeout",  
                action = "store",  
                type = 'int',  
                dest = "timeout",  
                default = None,  
                help="Specify annalysis execution time limit"  
                )  
parser.add_option("-u", "--url",  
                action = "store_true",  
                dest = "url",  
                default = False,  
                help = "Specify if the target is an URL"  
                )
(options, args) = parser.parse_args() 
if options.url:  
    print(args[0])

Komplexe Verwendung: Parametergruppierung

parser = optparse.OptionParser(version="%prog " + config.version)# common_groupcommon_group = optparse.OptionGroup(
    parser, "Common Options",    "Common options for code-coverage.")
parser.add_option_group(common_group)
common_group.add_option(    "-l", "--lang", dest="lang", type="string", default="cpp",    help="module language.", metavar="STRING")
common_group.add_option(    "--module_id", dest="module_id", type="int", default=None,    help="module id.", metavar="INT")
cpp_group = optparse.OptionGroup(
    parser, "C/C++ Options",    "Special options for C/C++.")# cpp_groupparser.add_option_group(cpp_group)
cpp_group.add_option(    "--local-compile", action="store_true", dest="local_compile",    help="compile locally, do not use compile cluster.")
cpp_group.add_option(    "--module_path", dest="module_path", type="string", default=None,    help="module path, like app/ecom/nova/se/se-as.", metavar="STRING")
    
options, arguments = parser.parse_args()
lang = options.lang
module_id = options.module_id
local_compile = options.local_compile
module_path = options.local_compile

argparse

Klasse ArgumentParser

class argparse.ArgumentParser(prog=None, 
                usage=None, 
                description=None, 
                epilog=None, 
                parents=[], 
                formatter_class=argparse.HelpFormatter,
                prefix_chars='-', 
                fromfile_prefix_chars=None, 
                argument_default=None, 
                conflict_handler='error', 
                add_help=True)

Parameter:

prog: der Name des Programms (Standard: sys.argv[0])

usage: eine Zeichenfolge, die die Verwendung des Programms beschreibt (Standard: generiert aus den Parametern des Parser)
Beschreibung: der Text vor den Parameter-Hilfeinformationen (Standard: leer)
Epilog: der Text nach den Parameter-Hilfeinformationen (Standard: leer)
Eltern: eine Liste von ArgumentParser-Objekten, die Parameter von Diese Objekte sollten enthalten sein
formatter_class: Klasse für benutzerdefinierte Hilfeinformationen
prefix_chars: Präfixzeichensatz optionaler Parameter (Standard: '-')
fromfile_prefix_chars: Präfixzeichensatz der Datei, aus der zusätzliche Parameter gelesen werden sollen (Standard: Keine)
argument_default: globaler Standardwert für Argumente (Standard: Keine)
conflict_handler: Strategie zum Auflösen widersprüchlicher optionaler Argumente (normalerweise nicht erforderlich)
add_help: Option -h/–help zum hinzufügen Parser (Standard: True)

Funktion add_argument()

add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help]
[, metavar][, dest])

参数:
name or flags:选项字符串的名字或者列表,例如foo 或者-f, --foo。
action:在命令行遇到该参数时采取的基本动作类型。
nargs:应该读取的命令行参数数目。
const:某些action和nargs选项要求的常数值。
default:如果命令行中没有出现该参数时的默认值。
type:命令行参数应该被转换成的类型。
choices:参数可允许的值的一个容器。
required:该命令行选项是否可以省略(只针对可选参数)。
help:参数的简短描述。
metavar:参数在帮助信息中的名字。
dest:给parse_args()返回的对象要添加的属性名称。

简单用法:

import argparse
parser = argparse.ArgumentParser(description="progrom description")
parser.add_argument('key', help="Redis key where items are stored")
parser.add_argument('--host')
arser.add_argument('--port')
parser.add_argument('--timeout', type=int, default=5)
parser.add_argument('--limit', type=int, default=0)
parser.add_argument('--progress_every', type=int, default=100)
parser.add_argument('-v', '--verbose', action='store_true')
args = parser.parse_args()
key = args.key
host = args.host
port = args.port
timeout = args.timeout
limit = args.limit
progress-every = args.progress_every
verbose = args.verbose

Das obige ist der detaillierte Inhalt vonWas sind die Python-Befehlszeilenparameter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn