suchen
HeimBackend-EntwicklungPython-TutorialDetaillierte Einführung in die Verwendung von docopt, dem Analysetool für Befehlszeilenparameter in Python

docopt ist ein Tool zum Parsen von Befehlszeilenparametern. Wenn Sie Parameter an ein Python-Programm anhängen möchten, müssen Sie sich darüber keine Gedanken mehr machen. Der folgende Artikel stellt hauptsächlich die relevanten Informationen zu docopt vor, dem Befehlszeilenparameter-Parsing-Tool in Python. Freunde, die es benötigen, können einen Blick darauf werfen.

Vorwort

docopt ist eine Open-Source-Bibliothek. Es wurde ausführlich in der README-Datei vorgestellt und enthält auch viele Beispiele zum Lernen. Dieser Artikel übersetzt auch den Inhalt der README-Datei...

Das größte Merkmal von docopt ist, dass Sie es nicht haben Sie müssen sich keine Gedanken darüber machen, wie die Befehlszeilenparameter analysiert werden, aber wenn Sie das gewünschte Format gemäß bestimmten Regeln schreiben, ist die Analyse abgeschlossen.

docopt-Installation

docopt hat viele Versionen, von denen jede verschiedene Sprachen unterstützt, docopt unterstützt Java-Skripte. und docopts unterstützt Shell-Skripte (die folgenden Beispiele verwenden hauptsächlich docopts als Beispiel). Weitere Informationen finden Sie in den docopt-Anweisungen von Github als Beispiel für die Installation. Bevor Sie docopts installieren, müssen Sie zuerst docopt installieren.

Methode eins Die einfachere Methode ist die direkte Installation mit pip,

Einige Macs unterstützen den direkten pip-Befehl möglicherweise nicht. Sie müssen zuerst pip installieren

Methode 2

pip install docopt==0.6.2Sie können den Quellcode auch auf Github herunterladen (docopt ist ein Open Quellprojekt) und verwenden Sie dann

Installieren

Docopts installieren

Um docopts zu installieren, müssen Sie die oben beschriebene Methode verwenden. Laden Sie den Quellcode auf GitHub herunter und verwenden Sie ihn dann Python, um es zu installieren.

python setup.py install

Eine einfache Analyse der Implementierung von docopt

Es gibt ein solches Attribut in Python , sein Wert ist eine Zeichenfolge, die im Allgemeinen Hilfeinformationen darstellt, und docopt nutzt dies aus. Ein Attribut ersetzt die Hilfeinformationen durch Anweisungen zum Parsen der Befehlszeilenparameter und analysiert sie dann. Nehmen wir zur Veranschaulichung ein Beispiel von docopt:

__doc__

Im obigen Codeausschnitt eine große Hilfe Informationen sind: Unsere Anweisungen zum Parsen von Befehlszeilenparametern rufen die Funktion docopt am Funktionseintrag zum Parsen auf. Die zurückgegebene Argumentvariable ist eine Lexikonvariable, die aufzeichnet, ob die Option ausgewählt ist, welchen Wert der Parameter hat und wann Das Programm startet über die Befehlszeile. Zur Laufzeit lernen wir die vom Benutzer eingegebenen Optionen und Parameterinformationen anhand der Datensätze der Argumentvariablen.

Das Schreiben von Anweisungen zum Parsen von Befehlszeilenparametern ist daher von entscheidender Bedeutung. Die Informationen zum Parsen von Befehlszeilen bestehen aus zwei Teilen, nämlich dem Format des Verwendungsmusters und dem Format der Optionsbeschreibung.

"""Naval Fate.
Usage:
 naval_fate.py ship new <name>...
 naval_fate.py ship <name> move <x> <y> [--speed=<kn>]
 naval_fate.py ship shoot <x> <y>
 naval_fate.py mine (set|remove) <x> <y> [--moored | --drifting]
 naval_fate.py (-h | --help)
 naval_fate.py --version
Options:
 -h --help  Show this screen.
 --version  Show version.
 --speed=<kn> Speed in knots [default: 10].
 --moored  Moored (anchored) mine.
 --drifting Drifting mine.
"""
from docopt import docopt
if __name__ == &#39;__main__&#39;:
 arguments = docopt(__doc__, version=&#39;Naval Fate 2.0&#39;)
 print(arguments)

Nutzungsmusterformat (Nutzungsmusterformat)

Das Verwendungsmuster beginnt mit der Verwendung: und endet mit einer Leerzeile, wie im gezeigt Das obige Code-Snippet beschreibt hauptsächlich das Format, in dem Benutzer Befehlszeilenparameter hinzufügen, dh das verwendete Format, und die Analyse erfolgt auch gemäß diesem Format. Jedes Verwendungsmuster enthält die folgenden Elemente:

* Parameter

Parameter sollten großgeschrieben oder in spitzen Klammern eingeschlossen werden .

* Optionen

Optionen beginnen mit einem Bindestrich – oder –. Das Format ist -o, wenn nur ein Buchstabe vorhanden ist, und --output, wenn mehr als ein Buchstabe vorhanden ist. Gleichzeitig können Sie auch mehrere Einzelbuchstabenoptionen kombinieren. -ovi entspricht -o, -v, -i. Optionen können auch Parameter haben. Vergessen Sie nicht, den Optionen zu diesem Zeitpunkt eine Beschreibung hinzuzufügen.

Das Folgende ist die Bedeutung einiger im Verwendungsmuster verwendeter Bezeichner, deren korrekte Verwendung die Analyseaufgabe besser abschließen kann:


* []

stellt optionale Elemente dar, die Elemente in eckigen Klammern sind optional

* ()

stellt die erforderlichen Elemente dar, die Elemente in Klammern Sie müssen eines haben, auch wenn Sie Wählen Sie eine von mehreren aus.

* |

Sich gegenseitig ausschließende Elemente, nur ein Element auf beiden Seiten der vertikalen Linie kann übrig bleiben

* ...

bedeutet, dass das Element wiederholt erscheinen kann und das endgültige Analyseergebnis eine Liste ist

* [Optionen]

Geben Sie bestimmte Optionen an eine bestimmte Aufgabe erledigen.


Optionsbeschreibungsformat

Optionsbeschreibung ist ebenfalls wichtig, insbesondere wenn die Option Parameter hat und sein muss Wenn ihr ein Standardwert zugewiesen wird . Es gibt zwei Formate zum Hinzufügen von Parametern zu Optionen:

Um eine Beschreibung für eine Option hinzuzufügen, verwenden Sie einfach zwei Leerzeichen, um die Option zu trennen und Beschreibung. Das ist es.

Wenn Sie einer Option einen Standardwert hinzufügen, fügen Sie ihn einfach nach der Auswahlbeschreibung hinzu. Das Format ist wie folgt [Standard: ]

-o FILE --output-FILE  # 不使用逗号,使用 = 符号
-i <file>, --input <file> # 使用逗号,不使用 = 符号

Wenn die Option wiederholt werden kann, ist ihr Wert

eine Liste. Wenn sie nicht wiederholt werden kann, ist ihr Wert eine Zeichenfolge.


--coefficient=K The K coefficient [default: 2.95]
--output=FILE Output file [default: test.txt]
--directory=DIR Some directory [default: ./]
Verwenden Sie

[default: ...]

, um die Verwendung des Musterformats und des Optionsbeschreibungsformats zu verstehen, und Sie können es anhand der angegebenen Beispiele besser verstehen. Der nächste Schritt besteht darin, die Eingabeinformationen abzurufen.

在前面提到arguments参数是一个字典类型,包含了用户输入的选项和参数信息,还是上面的代码段例子,假如我们从命令行运行的输入是


python3 test.py ship Guardian move 100 150 --speed=15

那么打印arguments参数如下:


{&#39;--drifting&#39;: False,
 &#39;--help&#39;: False,
 &#39;--moored&#39;: False,
 &#39;--speed&#39;: &#39;15&#39;,
 &#39;--version&#39;: False,
 &#39;<name>&#39;: [&#39;Guardian&#39;],
 &#39;<x>&#39;: &#39;100&#39;,
 &#39;<y>&#39;: &#39;150&#39;,
 &#39;mine&#39;: False,
 &#39;move&#39;: True,
 &#39;new&#39;: False,
 &#39;remove&#39;: False,
 &#39;set&#39;: False,
 &#39;ship&#39;: True,
 &#39;shoot&#39;: False}

从打印信息可以看到,对于选项,使用布尔型来表示用户是否输入了该选项,对于参数,则使用具体值来表述。

这样一来,程序就可以从arguments变量中得到下一步的操作了。若是用户什么参数都没输入,则打印Usage说明提示输入内容。

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Verwendung von docopt, dem Analysetool für Befehlszeilenparameter in Python. 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
Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Apr 25, 2025 am 12:28 AM

Arraysinpython, besondersvianumpy, arecrucialInScientificComputingFortheirefficience undvertilität.1) Sie haben festgelegt, dass die Fornerikerne, Datenanalyse und Machinelarning.2) Numpy'SimplementationIncensuresFasteroperationsdanpythonlisten.3) Araysensableableableableableableableableableableableableableableableableableableableableableableableableableable

Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Apr 25, 2025 am 12:24 AM

Sie können verschiedene Python -Versionen mithilfe von Pyenv, Venv und Anaconda verwalten. 1) Verwalten Sie PYENV, um mehrere Python -Versionen zu verwalten: Installieren Sie PyEnv, setzen Sie globale und lokale Versionen. 2) Verwenden Sie VenV, um eine virtuelle Umgebung zu erstellen, um Projektabhängigkeiten zu isolieren. 3) Verwenden Sie Anaconda, um Python -Versionen in Ihrem Datenwissenschaftsprojekt zu verwalten. 4) Halten Sie das System Python für Aufgaben auf Systemebene. Durch diese Tools und Strategien können Sie verschiedene Versionen von Python effektiv verwalten, um den reibungslosen Betrieb des Projekts zu gewährleisten.

Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Apr 25, 2025 am 12:21 AM

NumpyarrayShaveseveraladVantagesOverStandardPythonArrays: 1) SiearemuchfasterDuetoc-basiert, 2) sie istaremoremory-effizient, insbesondere mit mit LaShlargedatasets und 3) sie können sich mit vektorisierten Funktionsformathematical und Statistical opertical opertical opertical operticaloperation, Making

Wie wirkt sich die homogene Natur der Arrays auf die Leistung aus?Wie wirkt sich die homogene Natur der Arrays auf die Leistung aus?Apr 25, 2025 am 12:13 AM

Der Einfluss der Homogenität von Arrays auf die Leistung ist doppelt: 1) Homogenität ermöglicht es dem Compiler, den Speicherzugriff zu optimieren und die Leistung zu verbessern. 2) aber begrenzt die Typ -Vielfalt, was zu Ineffizienz führen kann. Kurz gesagt, die Auswahl der richtigen Datenstruktur ist entscheidend.

Was sind einige Best Practices für das Schreiben von ausführbaren Python -Skripten?Was sind einige Best Practices für das Schreiben von ausführbaren Python -Skripten?Apr 25, 2025 am 12:11 AM

TocraftexecutablePythonScripts, folge theseBestPractices: 1) addashebangline (#!/Usr/bin/envpython3) tomakethescriptexcutable.2 SetPermissions withchmod xyour_script.py.3) organisation -bithacleardocstringanduseInname == "__ __": FormAcleardocstringanduseInname

Wie unterscheiden sich Numpy Arrays von den Arrays, die mit dem Array -Modul erstellt wurden?Wie unterscheiden sich Numpy Arrays von den Arrays, die mit dem Array -Modul erstellt wurden?Apr 24, 2025 pm 03:53 PM

NumpyarraysarebetterFornumericaloperations und multi-dimensionaldata, whilethearraymoduleiStableforbasic, an Gedächtniseffizienten

Wie vergleichen sich die Verwendung von Numpy -Arrays mit der Verwendung der Array -Modularrays in Python?Wie vergleichen sich die Verwendung von Numpy -Arrays mit der Verwendung der Array -Modularrays in Python?Apr 24, 2025 pm 03:49 PM

NumpyarraysarebetterforeheavynumericalComputing, während der projectwithsimpledatatypes.1) numpyarraysoferversatility und -PerformanceForlargedataSets und Compoxexoperations.2) thearraysoferversStility und Mächnory-Effefef

Wie bezieht sich das CTypes -Modul auf Arrays in Python?Wie bezieht sich das CTypes -Modul auf Arrays in Python?Apr 24, 2025 pm 03:45 PM

ctypesallowscreatingandmanipulationsc-stylearraysinpython.1) usectypestoInterfaceWithClibraryForperformance.2) createCec-stylearraysFornumericalComputationen.3) PassarrayStocfunctionsFectionFicecher-Operationen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools