J'ai comparé argparse et python-fire du module de gestion des arguments en ligne de commande par le nombre de codes et le temps de traitement
argparse
Juste avant d'importer argparse, récupérez l'heure actuelle et mesurez le temps de traitement, ʻif name == '__ main__': Il y a beaucoup de code dans, et
say` est répété 3 fois. Pas intélligent.
import time
start = time.time()
import argparse
def say():
print(f"Depuis le début{time.time()-start}Les secondes ont passé")
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument("--say",action="store_true")
args = parser.parse_args()
if args.say:
say()
Exécutez cette exécution avec la commande suivante
$python3 argparse_test.py --say
La sortie est
0,01373600959777832 secondes se sont écoulées depuis le début
La vitesse de traitement est rapide
python-fire Par rapport à argparse, la quantité de code dans ʻif name == '__ main __': `n'est qu'une ligne
import time
start = time.time()
import fire
def say():
print(f"Depuis le début{time.time()-start}Les secondes ont passé")
if __name__ == '__main__':
fire.Fire()
Exécutez avec la commande suivante
python3 fire_test.py say
La sortie est
0,7563726902008057 secondes se sont écoulées depuis le début
Il faut environ 0,7 seconde pour charger python-fire, mais c'est simple