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.
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 der Installation des Docopt-Moduls sehen wir uns einige Beispiele an, um zu verstehen, wie das Docopt-Modul in Python verwendet wird.
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()
This is testing the docopt module.
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()
1: This is testing the docopt module. 2: This is line 2 3: This is line 3 4: This is line 4
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!