Est-ce que quelqu'un sait si j'ai un script one.py
qui est écrit de la manière suivante:Python - exécuter un script externe
if __name__ == '__main__':
# Do something
Et je veux appeler main
fonction à partir d'un autre script. Comment devrais-je faire ça?
Je pense que ce serait quelque chose comme (disons que ceci est launcher.py
)
# 'one' stands for import from `one.py` module
import one
if __name__ == '__main__':
one.main()
Le seul problème est que je ne peux pas appeler main()
cette façon.
Comment cela devrait-il être fait?
Cela fonctionne, mais ce n'est pas le bon moyen de le faire. Le fait est que la fonction __name__ == '__main __' 'sentinel vérifie si votre programme est exécuté de manière autonome. Bien sûr, vous pouvez prétendre que c'est le cas, mais vous ne devriez pas - à la place, vous devriez appeler l'API qu'il vous expose! Autrement dit, vous appelez 'a.main()' de 'b'. – katrielalex
En plus de ce que @katrielalex dit, cela semble être complexe et inutile à première vue. –
Je suis avec Katrielalex et Felix, cela fait ce que requiered mais ce n'est certainement pas le chemin à parcourir. – slezica