Maison  >  Article  >  développement back-end  >  Comment exécuter une fonction Python directement depuis la ligne de commande ?

Comment exécuter une fonction Python directement depuis la ligne de commande ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 04:38:30146parcourir

How can I execute a Python function directly from the command line?

Exécuter des fonctions Python à partir de la ligne de commande

Question :

Si j'ai ce qui suit Code Python :

def hello():
    return 'Hi :)'

Comment puis-je exécuter cette fonction directement à partir de la ligne de commande ?

Comprendre le problème :

Les scripts Python ont généralement une fonction main() qui contient le code à exécuter lors de l'exécution du script. Cependant, si cette fonction n'est pas présente ou que la fonction que vous souhaitez exécuter n'est pas la fonction principale, il peut être délicat de l'exécuter directement depuis la ligne de commande.

Solution :

Il existe plusieurs méthodes pour exécuter une fonction Python spécifique à partir de la ligne de commande en utilisant l'argument -c (commande) :

1. Importation du module et de la pollution de l'espace de noms :

$ python -c 'import foo; print foo.hello()'

Cette approche importe le module foo et appelle directement la fonction hello() à partir de celui-ci. Cependant, il expose l'intégralité de l'espace de noms du module foo à l'interpréteur.

2. Importation sélective et aucune pollution de l'espace de noms :

$ python -c 'from foo import hello; print hello()'

Cette méthode importe uniquement la fonction hello() sans polluer l'espace de noms de l'interpréteur. C'est une approche plus propre et privilégiée si vous souhaitez minimiser les conflits de noms.

3. Importation intermédiaire pour le contrôle de l'espace de noms :

$ python -c 'from foo import *; print hello()'

Cette option importe l'intégralité du module foo dans l'espace de noms de l'interpréteur. Bien que cela élimine le besoin de préfixer les appels de fonction avec le nom du module, cela peut entraîner une pollution de l'espace de noms si le module contient de nombreuses fonctions.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn