Python コネクタでの Python スクリプトの制限

  • リリースバージョン: Zurich
  • 更新日 2025年08月21日
  • 所要時間:2分
  • Python コネクタの Python スクリプトの制限は次のとおりです。

    SecureString データタイプ

    Python は .NET に固有であるため、 SecureString を認識しません。したがって、 SecureString データ型は使用しないでください。安全な文字列を使用する必要がある場合は、Python メソッドへの入力として渡す前に、必ずプレーンな文字列に変換してください。

    user_input

    コードに (入力を求めるための ) user_input が含まれている場合、コードは無期限に実行され、 RPA デスクトップデザインスタジオ を再起動する必要があります。特に設定ウィンドウに書き込む場合は、これをスクリプトに含めないでください。

    input()/user_input() などの対話型呼び出し (または任意のユーザープロンプト) により、スクリプトはコンソール入力を無期限に待機します。RPA デスクトップデザインスタジオは非対話型の実行環境 (ユーザー入力をキャプチャするコンソールがない環境) でスクリプトを実行するため、スクリプトがスタックして完了することはありません。この問題では、多くの場合、 RPA デスクトップデザインスタジオの再起動が必要です。

    2回出力印刷

    次のコードでは、出力が 2 回出力されます。
    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)
    コードを次のように変更すると、出力が一旦出力されます。
    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)

    スクリプト内のトップレベルのコードを指定します。たとえば、 if __name__ == "__main__": です。これは __name__ ガードとして知られています。

    メソッドまたは関数がモジュールから内部スクリプトにインポートされます。インポートするときは、トップレベルの実行を __name__ で保護して、実行がインポートからのものか直接実行からのものかを確実に理解できるようにする必要があります。詳細については、「 __main__ — トップレベルのコード環境」を参照してください。