Maison >développement back-end >Tutoriel Python >Comment puis-je exécuter un script Python autonome à partir d'un script de service ?

Comment puis-je exécuter un script Python autonome à partir d'un script de service ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 14:33:121001parcourir

How Can I Execute a Standalone Python Script from Within a Service Script?

Exécuter des scripts externes à partir d'un script de service

Dans un scénario où vous disposez de deux scripts, test1.py et service.py, avec test1.py contenant du code autonome et service.py exécutés en tant que service, vous devrez peut-être appeler test1.py depuis service.py.

Mise en œuvre de Solution

La principale méthode pour y parvenir consiste à structurer les scripts comme suit :

  • test1.py :

    def some_func():
        print('in test 1, unproductive')
    
    if __name__ == '__main__':
        # test1.py executed as script
        # do something
        some_func()

    Dans cette configuration, some_func() est la fonction que vous souhaitez exécuter à partir de service.py. La vérification if __name__ == '__main__' garantit que le code qu'il contient n'est exécuté que lorsque test1.py est exécuté directement, et non lorsqu'il est importé.

  • service.py:

    import test1
    
    def service_func():
        print('service func')
    
    if __name__ == '__main__':
        # service.py executed as script
        # do something
        service_func()
        test1.some_func()

    Dans service.py, vous importez test1 et définissez une fonction service_func() pour votre service. L'étape critique consiste à appeler test1.some_func(), qui exécute le code de test1.py. Encore une fois, la vérification if __name__ == '__main__' garantit que le code n'est exécuté que lorsque service.py est exécuté directement.

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