So empfangen Sie Befehlszeilenargumente in Python

Was ist ein Befehlszeilenargument?

Ein Befehlszeilenargument ist eine Zeichenfolge, die beim Starten eines Programms über den Befehlseingabebildschirm (Befehlszeile) eines Computers angegeben wird. Auch der Wert der Variablen usw., die dies auf der Programmseite erhalten hat.

http://e-words.jp/w/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3%E5%BC%95%E6%95%B0.html

Befehlszeilenargumente sind die Argumente der Hauptfunktion. Sie können Befehlszeilenargumenten bei der Ausführung über die Befehlszeile Werte zuweisen.

http://www.ritsumei.ac.jp/~mmr14135/johoWeb/cmnds.html

>>> ls -a
↑ hier

Empfangen Sie Befehlszeilenargumente in Python

Es gibt drei Hauptmethoden, um Befehlszeilenargumente in Python zu empfangen.

  1. Verwenden Sie sys.argv
  2. Verwenden Sie argparse
  3. Verwenden Sie click

ist.

sys.argv

Dies ist die bekannteste (glaube ich) Methode. Holen Sie es sich mit sys, der Standard-Python-Bibliothek.

args.py


import sys


def main() -> None:
    args = sys.argv
    print(args)


if __name__=='__main__':
    main()

Lauf

>>> python args.py aaa 123 hoge
['args.py', 'aaa', '123', 'hoge']
verdienen デverdienen
Einfach zu schreiben Ich weiß nicht, welcher Typ kommen wird
Python-Standardbibliothek Keine Hilfe

argparse

Eine Standard-Python-Bibliothek für Befehlszeilenargumente. Sie können die Hilfefunktion und den Typ angeben. Es ist eine Gewohnheit des Umgangs.

args2.py


import argparse


def main() -> None:
    parser = argparse.ArgumentParser(description='Erläuterung')

    parser.add_argument('description', help='Argumentbeschreibung')  #Wenn zur Laufzeit nicht angegeben, tritt ein Fehler auf.
    parser.add_argument('hoge', help='hogehoge')  #Die Reihenfolge ist festgelegt.
    parser.add_argument('--foo', help='option')  #Bindestrich 1~Wenn Sie zwei anhängen, müssen Sie diese zur Laufzeit nicht angeben.

    args = parser.parse_args()

    print(args.description)
    print(args.hoge)
    print(args.foo)


if __name__ == "__main__":
    main()

Lauf

>>> python args2.py -h
usage: aaa.py [-h] [--foo FOO] description hoge

Erläuterung

positional arguments:
Beschreibung Argument Beschreibung
  hoge         hogehoge

optional arguments:
  -h, --help   show this help message and exit
  --foo FOO    option

>>> python args2.py aaa bbb
aaa
bbb
None

>>> python args2.py aaa bbb --foo 123
aaa
bbb
123
verdienen デverdienen
Reich an Funktionen Komplexität
Es gibt Hilfe
Python-Standardbibliothek

click

Python-Befehlszeilenparser. Mit anderen Worten, ein Modul zur Befehlszeilenanalyse. Da es sich nicht um eine Python-Standardbibliothek handelt, muss sie separat installiert werden. Die beiden oben genannten werden jedoch aus Gründen des besseren Verständnisses und der Benutzerfreundlichkeit weggelassen. Daher ist es in Ordnung, wenn Sie sich daran erinnern Übrigens sind "click", "Flask" und "jinja" dasselbe Projekt.

#Installation
pip install click

args3.py


import click


@click.command()
@click.option('--args', prompt=True, help='Erläuterung')
@click.option('--hoge', prompt=True, is_flag=True, help='hogehoge')
def main(args: str, hoge: bool) -> None:
    if hoge:
        print(args)


if __name__ == "__main__":
    main()

Lauf

>>> python args3.py --args foo --hoge
foo

>>> python args3.py
Args: aaaaa
Hoge [y/N]: y
aaaaa
verdienen デverdienen
Reich an Funktionen Keine Python-Standardbibliothek
Einfach zu verwenden
Kann an der Eingabeaufforderung angezeigt werden
Sie können auch den Fortschrittsbalken anzeigen
Sie können Ihre Passworteingabe ausblenden
Mehrfacheingaben sind möglich

Referenzmaterial

Umgang mit Befehlszeilenargumenten in Python (sys.argv, argparse) [Übergeben von Befehlszeilenargumenten in Python](https://intellectual-curiosity.tokyo/2018/12/14/python%E3%81%A7%E3%82%B3%E3%83%9E%E3%83 % B3% E3% 83% 89% E3% 83% A9% E3% 82% A4% E3% 83% B3% E5% BC% 95% E6% 95% B0% E3% 82% 92% E6% B8% A1 % E3% 81% 99% E6% 96% B9% E6% B3% 95 /) Eine kurze Zusammenfassung der Verwendung von ArgumentParser Python: Klicken Sie auf den Befehlszeilen-Parser, der zu praktisch war

Recommended Posts

So empfangen Sie Befehlszeilenargumente in Python
So geben Sie Befehlszeilenargumente beim Debuggen mit PyCharm an
[Python / Tkinter] Übergeben von Argumenten an den Befehl
Zerlegen Sie Befehlsargumente in einer Zeile in Python
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
[Python] So testen Sie den Befehlszeilen-Parser-Klick
[Einführung in Udemy Python3 + Application] 67. Befehlszeilenargumente
Empfangen Sie Laufzeitargumente in Python 2.7
Wie man in Python entwickelt
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
So führen Sie einen Befehl mit einem Unterprozess in Python aus
[Python] Wie man PCA mit Python macht
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Im Python-Befehl zeigt Python auf Python3.8
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Verwalten von Argumenten beim Implementieren eines Python-Skripts als Befehlszeilentool
Umgang mit Japanisch mit Python
Übergeben von Argumenten beim Aufrufen von Python-Skripten über Blender in der Befehlszeile
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
[Python] Verwendung von __command__, Funktionserklärung
So arbeiten Sie mit BigQuery in Python
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
Übergeben von Argumenten an Python-Skripte in SPSS Modeler Batch
Python Hinweis: Stellen Sie fest, ob das Befehlszeilenargument in der Liste enthalten ist
Vorlage zum Erstellen von Befehlszeilenanwendungen in Python
Verwendung der C-Bibliothek in Python
Registrieren Sie Funktionsargumente automatisch in argparse in Python
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie einen Taple in einer Liste (Python)
So installieren Sie Python
So generieren Sie eine Sequenz in Python und C ++
Einbetten von Variablen in Python-Strings
So blenden Sie die Eingabeaufforderung aus, wenn Sie Python in Visual Studio 2015 ausführen
Zusammenfassung zum Importieren von Dateien in Python 3
Lassen Sie uns verstehen, wie Argumente übergeben werden (Python Edition)
So vereinfachen Sie die eingeschränkte Polypoly-Anpassung in Python
Verwendung der Python-Bildbibliothek in der Python3-Serie
So implementieren Sie Shared Memory in Python (mmap.mmap)
So erstellen Sie eine JSON-Datei in Python
So installieren Sie Python
Zusammenfassung der Verwendung von MNIST mit Python