533 votes

Python : Exécuter la fonction de la ligne de commande

J’ai dit dans mon dossier :

Comment j’ai irait cette ligne de commande ?

801voto

Frédéric Hamidi Points 123646

Avec le *(commande)* argument (en supposant que votre fichier se nomme ) :

Alternativement, si vous ne se souciez pollution de l’espace de noms :

Et le middle ground :

167voto

Wolph Points 28062

Il suffit de mettre un endroit ci-dessous la fonction et elle seront exécutera lorsque vous faites

Pour une solution plus propre, vous pouvez utiliser ceci :

De cette façon la fonction sera exécutée uniquement si vous exécutez le fichier, pas lorsque vous importez le fichier.

79voto

Tamás Points 18211

python -c 'from myfile import hello; hello()'myfile doit être remplacé par le nom de base de votre script Python. (E. g., myfile.py devient myfile).

Toutefois, si hello() est votre "permanent", principal point d'entrée dans votre script Python, puis la manière habituelle de le faire est comme suit:

def hello():
    print "Hi :)"

if __name__ == "__main__":
    hello()

Cela vous permet d'exécuter le script simplement en exécutant python myfile.py ou python -m myfile.

Quelques explications ici: __name__ est un spécial Python variable qui contient le nom du module en cours d'exécution, sauf lorsque le module est lancé à partir de la ligne de commande, auquel cas il devient "__main__".

1voto

user2495144 Points 1

C'est toujours une option pour entrer dans python en ligne de commande avec la commande python

puis importer votre fichier pour l'importation example_file

ensuite, exécutez la commande avec example_file.bonjour()

Cela évite le bizarre .pyc fonction de copie qui surgit à chaque fois que vous exécutez python -c, etc.

Peut-être pas aussi pratique qu'une seule commande, mais une bonne correction rapide de texte d'un fichier à partir de la ligne de commande, et vous permet d'utiliser python pour appeler et exécuter votre fichier.

0voto

Shubham Points 11

Impossible d’exécuter cette fonction depuis la ligne de commande comme il retourne une valeur qui iront des. Vous pouvez supprimer le retour et utiliser plutôt l’impression

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X