Limitations du script Python dans le connecteur Python

  • Rversion finale: Zurich
  • Mis à jour 21 août 2025
  • 1 minute de lecture
  • Les limitations du script Python dans le connecteur Python sont les suivantes.

    Type de données SecureString

    Python ne reconnaît pas SecureString car il est spécifique à .NET. Par conséquent, n’utilisez pas le type de données SecureString . Si vous avez besoin d’utiliser une chaîne sécurisée, assurez-vous de la convertir en chaîne brute avant de la transmettre en entrée à une méthode Python.

    user_input

    Si le code contient user_input (pour l’invite à entrer l’entrée), il s’exécute indéfiniment et doit Studio de conception de bureau de RPA être redémarré. Évitez d’inclure cela dans le script, en particulier lorsque vous écrivez dans la fenêtre de configuration.

    Les appels interactifs tels que input()/user_input() (ou toute invite utilisateur) font attendre indéfiniment le script pour l’entrée de la console. Étant donné que le Studio de conception de bureau de RPA exécute le script dans un environnement d’exécution non interactif (où il n’y a pas de console pour capturer l’entrée utilisateur), le script est bloqué et ne se termine jamais. Ce problème nécessite souvent un redémarrage du Studio de conception de bureau de RPA.

    Impression deux fois

    Dans le code suivant, la sortie est imprimée deux fois.
    class Called1:
    def greet(self, name):
    return "Hello, " + name
    
    class Calling1:
    def call_method(self, input_name):
            # Create an object of Called1
            obj = Called1()
            # Call Called1's method with parameter
            result = obj.greet(input_name)
    return result
    
    caller = Calling1()
    output = caller.call_method("Abel")
    print(output)
    Lorsque le code est modifié comme suit, la sortie est imprimée une fois.
    class Called1:
        def greet(self, name):
            return "Hello, " + name
     
     
    class Calling1:
        def call_method(self, input_name):
            # Create an object of Called1
            obj = Called1()
            # Call Called1's method with parameter
            result = obj.greet(input_name)
            return result
            
            
    if __name__ == "__main__":
        caller = Calling1()
        output = caller.call_method("Abel")
        print(output)

    Mentionnez le code de niveau supérieur dans le script. Par exemple, si __name__ == « __main__ » :. C’est ce qu’on appelle un __name__ guard.

    La méthode ou la fonction est importée du module dans le script interne. Lors de l’importation, il est nécessaire de protéger l’exécution de niveau supérieur avec __name__ pour s’assurer qu’il comprend si l’exécution provient d’une importation ou d’une exécution directe. Pour plus d’informations, consultez __main__ — Environnement de code de niveau supérieur.