Un argument de ligne de commande est une chaîne de caractères spécifiée lors du démarrage d'un programme à partir de l'écran de saisie de commande (ligne de commande) d'un ordinateur. En outre, la valeur de la variable etc. qui a reçu cela du côté du programme.
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
Les arguments de ligne de commande sont les arguments de la fonction principale. Vous pouvez donner des valeurs aux arguments de ligne de commande à partir de la ligne de commande lorsque vous exécutez.
http://www.ritsumei.ac.jp/~mmr14135/johoWeb/cmnds.html
>>> ls -a
↑ ici
Il existe trois façons principales de recevoir des arguments de ligne de commande en Python.
sys.argv
click
est.
sys.argv
C'est la méthode la plus reconnue (je pense). Obtenez-le en utilisant sys, la bibliothèque Python standard.
args.py
import sys
def main() -> None:
args = sys.argv
print(args)
if __name__=='__main__':
main()
Courir
>>> python args.py aaa 123 hoge
['args.py', 'aaa', '123', 'hoge']
mérite | デmérite |
---|---|
Facile à écrire | Je ne sais pas quel type viendra |
Bibliothèque standard Python | Aucune aide |
argparse
Une bibliothèque Python standard dédiée aux arguments de ligne de commande. Vous pouvez spécifier la fonction et le type d'aide. Il y a une habitude de manipulation.
args2.py
import argparse
def main() -> None:
parser = argparse.ArgumentParser(description='La description')
parser.add_argument('description', help='Description de l'argument') #S'il n'est pas spécifié au moment de l'exécution, une erreur se produira.
parser.add_argument('hoge', help='hogehoge') #L'ordre est fixe.
parser.add_argument('--foo', help='option') #Trait d'union 1~Si vous en attachez deux, vous n'avez pas à le spécifier lors de l'exécution.
args = parser.parse_args()
print(args.description)
print(args.hoge)
print(args.foo)
if __name__ == "__main__":
main()
Courir
>>> python args2.py -h
usage: aaa.py [-h] [--foo FOO] description hoge
La description
positional arguments:
description Description de l'argument
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
mérite | デmérite |
---|---|
Riche en fonctionnalités | complexité |
Il y a de l'aide | |
Bibliothèque standard Python |
click
Analyseur de ligne de commande Python. En d'autres termes, un module d'analyse en ligne de commande.
Comme il ne s'agit pas d'une bibliothèque Python standard, elle doit être installée séparément, mais les deux ci-dessus sont omis pour faciliter la compréhension et la facilité d'utilisation. Par conséquent, ce n'est pas grave si vous vous en souvenez
Au fait, click
, Flask
et jinja
sont même projet.
#Installation
pip install click
args3.py
import click
@click.command()
@click.option('--args', prompt=True, help='La description')
@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()
Courir
>>> python args3.py --args foo --hoge
foo
>>> python args3.py
Args: aaaaa
Hoge [y/N]: y
aaaaa
mérite | デmérite |
---|---|
Riche en fonctionnalités | Pas une bibliothèque standard Python |
Facile à utiliser | |
Peut être affiché à l'invite | |
Vous pouvez également afficher la barre de progression | |
Vous pouvez masquer votre entrée de mot de passe | |
Plusieurs entrées sont possibles |
Comment gérer les arguments de ligne de commande en Python (sys.argv, argparse) [Comment passer des arguments de ligne de commande en 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 /) Un bref résumé de la façon d'utiliser ArgumentParser Python: cliquer sur l'analyseur de ligne de commande était trop pratique
Recommended Posts