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
Es gibt drei Hauptmethoden, um Befehlszeilenargumente in Python zu empfangen.
sys.argv
argparse
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 |
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