Heim > Backend-Entwicklung > Python-Tutorial > Docopt-Modul in Python

Docopt-Modul in Python

王林
Freigeben: 2023-08-18 12:37:28
nach vorne
1067 Leute haben es durchsucht

In Python wird das Docopt-Modul zum Erstellen von Befehlszeilenschnittstellen verwendet. Ähnlich wie andere Befehlszeilenparameter und -optionen ermöglicht uns docopt, Befehlszeilenparameter und -optionen zu definieren und Hilfemeldungen und Verwendungszeichenfolgen für das Programm zu generieren. In diesem Artikel erfahren Sie, wie Sie das Docopt-Modul definieren und es zum Erstellen einer Befehlszeilenschnittstelle verwenden.

Installation

Bevor Sie es verwenden, können Sie das Docopt-Modul mit dem Befehl pip in Python installieren. Um das Docopt-Modul zu installieren, geben Sie den folgenden Befehl am Terminal oder an der Eingabeaufforderung ein.

pip install docopt
Nach dem Login kopieren

Programme, die das Docopt-Modul verwenden

Nach der Installation des Docopt-Moduls sehen wir uns einige Beispiele an, um zu verstehen, wie das Docopt-Modul in Python verwendet wird.

Beispiel 1: Einfaches Programm

Im folgenden Code geben wir den Dateinamenparameter an, während wir das Programm ausführen. Wenn die Programmdatei beispielsweise simple_program.py ist und wir eine test.txt-Datei im selben Verzeichnis haben, dann sollte der Parameter python simple_program.py test.txt sein.

""" Usage: simple_program.py <filename>

Print the contents of the file to the console.
"""

from docopt import docopt

def main():
   args = docopt(__doc__)
   filename = args['<filename>']
   with open(filename, 'r') as f:
      print(f.read())

if __name__ == '__main__':
   main()
Nach dem Login kopieren

Ausgabe

This is testing the docopt module.
Nach dem Login kopieren

Beispiel 2: Programm mit Optionen

In diesem Beispiel erstellen wir ein Programm, das einen Dateinamen als Argument und ein optionales Flag akzeptiert, um anzugeben, ob Zeilennummern angezeigt werden sollen. Wir werden Docopt verwenden, um die Befehlszeilenschnittstelle zu definieren. Im folgenden Beispiel stellen wir beim Ausführen des Programms das Argument „Dateiname“ und das Flag „Zeilennummern“ bereit. Wenn die Programmdatei beispielsweise „simple_program.py“ lautet und wir eine Datei „test.txt“ im selben Verzeichnis haben, sollte der Parameter „python simple_program.py test.txt –line-numbers.“ lauten

"""Usage: program_with_options.py [--line-numbers] <filename>

Print the contents of the file to the console, with line numbers if specified.

Options:
  --line-numbers  Display line numbers.
"""

from docopt import docopt

def main():
   args = docopt(__doc__)
   filename = args['<filename>']
   with open(filename, 'r') as f:
      if args['--line-numbers']:
         for i, line in enumerate(f):
            print(f"{i+1}: {line}", end="")
      else:
         print(f.read())

if __name__ == '__main__':
    main()
Nach dem Login kopieren
Ausgabe
1: This is testing the docopt module.
2: This is line 2
3: This is line 3
4: This is line 4
Nach dem Login kopieren
Fazit In diesem Artikel haben wir besprochen, wie man mit dem docopt-Modul eine Befehlszeilenschnittstelle erstellt und wie man damit Befehlszeilenparameter und -optionen erstellt. Sein deklarativer Ansatz erleichtert die Definition von Befehlszeilenparametern und -optionen und macht es einfach zu verwenden und zu verstehen. Mit Docopt können Sie schnell Befehlszeilenschnittstellen für Ihre Python-Programme erstellen, ohne sich um die Details der Argumentanalyse und der Generierung von Hilfemeldungen kümmern zu müssen.

Das obige ist der detaillierte Inhalt vonDocopt-Modul in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage