💬
【Power Automate Desktop】Python 3.4 で print variableName がエラーになる原因と対処法
概要
2025/3/4 時点で、公式リファレンスで紹介されている情報が古いです。
Python スクリプトを実行
アクションにて Python バージョン 3.4 を選択していた場合、リファレンスで例示されている Python コードではエラーが発生します。
スクリプト アクションでの変数の操作
スクリプト アクションで変数を宣言し、Power Automate で結果を返すには、次のコマンドを使用します。
Python スクリプトは、新しい変数を宣言するために特別な表記を必要としません。 Python スクリプトを実行するアクションから値を返すには、印刷関数を使用します。
Python(Microsoft リファレンスより引用)
variableName = "variableValue"
print variableName
具体的には、以下の様な挙動となります。
Python 2.7
# どちらも出力可能
print("hoge")
print "hoge"
# 出力
hoge
Python 3.4
# 出力可能
print("hoge")
# エラー SyntaxError: invalid syntax
print "hoge"
# 出力
hoge
print の仕様
print
の扱いは Python 2.7 と 3.4 で大きく異なります。
2.7 では文(statement)として扱われ、print "hoge"
と記載します。
一方、3.4 では関数であり、print("hoge")
となります。
このため、Python 3.4 では print "hoge"
を使用するとエラーが発生します。
エラーログの取得方法
コードを記入した後、デフォルトだとエラー出力が確認不可な状態になっています。
悲しいことに、Python コード内でエラーが起きても、フローは停止せずにそのまま進行します。
下図の設定では空
が結果として出力されます。
複雑な処理をしていた場合、空
が仕様通りであるのか、エラーが発生により処理が中断された結果なのか判断が困難です。
このように、設定するとエラー発生時にログが別の変数に出力されます。
if
アクションと組み合わせて、例外処理を実装可能です。
ここまでするならノーコードではなく Python で全部作った方が楽なのでは?
Discussion