Python コネクタでの Python スクリプトの制限
Python コネクタの Python スクリプトの制限は次のとおりです。
SecureString データタイプ
Python は .NET に固有であるため、 SecureString を認識しません。したがって、 SecureString データ型は使用しないでください。安全な文字列を使用する必要がある場合は、Python メソッドへの入力として渡す前に、必ずプレーンな文字列に変換してください。
user_input
コードに (入力を求めるための ) user_input が含まれている場合、コードは無期限に実行され、 RPA デスクトップデザインスタジオ を再起動する必要があります。特に設定ウィンドウに書き込む場合は、これをスクリプトに含めないでください。
input()/user_input() などの対話型呼び出し (または任意のユーザープロンプト) により、スクリプトはコンソール入力を無期限に待機します。RPA デスクトップデザインスタジオは非対話型の実行環境 (ユーザー入力をキャプチャするコンソールがない環境) でスクリプトを実行するため、スクリプトがスタックして完了することはありません。この問題では、多くの場合、 RPA デスクトップデザインスタジオの再起動が必要です。
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__ — トップレベルのコード環境」を参照してください。