Heim Backend-Entwicklung Python-Tutorial Detaillierte Einführung in die Verwendung von docopt, dem Analysetool für Befehlszeilenparameter in Python

Detaillierte Einführung in die Verwendung von docopt, dem Analysetool für Befehlszeilenparameter in Python

Mar 28, 2017 am 09:22 AM
docopt 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)
Nach dem Login kopieren

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> # 使用逗号,不使用 = 符号
Nach dem Login kopieren

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: ./]
Nach dem Login kopieren
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
Nach dem Login kopieren

那么打印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}
Nach dem Login kopieren

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

这样一来,程序就可以从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!

Erklärung dieser Website
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

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

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Kann VSCODE für MAC verwendet werden Kann VSCODE für MAC verwendet werden Apr 15, 2025 pm 07:36 PM

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Kann vscode ipynb ausführen Kann vscode ipynb ausführen Apr 15, 2025 pm 07:30 PM

Der Schlüssel zum Ausführen von Jupyter -Notebook im VS -Code liegt darin, sicherzustellen, dass die Python -Umgebung ordnungsgemäß konfiguriert ist, verstehen, dass die Codeausführungsreihenfolge mit der Zellreihenfolge übereinstimmt, und sich der großen Dateien oder externen Bibliotheken bewusst zu sein, die die Leistung beeinflussen können. Die vom VS -Code bereitgestellten Codebetausch- und Debugging -Funktionen können die Codierungseffizienz erheblich verbessern und Fehler verringern.

See all articles