CRI ADX  Last Updated: 2024-09-25 17:41 p
Hello World をスクリプトログに表示する

このチュートリアルでは、次の2つの方法で「Hello, World」の文字を「スクリプトログ」ウィンドウに表示する処理をスクリプトで書いていきます。

  • Python 標準の文字列出力によるログの出力
  • CRI Atom Craft APIの debug モジュール によるログの出力

スクリプトの実行状況の視覚確認には、ログ出力機能を使用すると便利です。 2つのログ出力の方法と違いを習得しましょう。

スクリプトファイルの準備

はじめに、処理を記述するための スクリプトファイル( Python ファイル) を準備します。
CRI Atom Craft を起動して、「スクリプト」メニューから「スクリプトリスト...」を選択して スクリプトリスト ウィンドウを表示します。
スクリプトリストから「tutorials [CRI]」を選択し、スクリプトファイルの [新規作成] ボタンをクリックします。

「新規作成」ボタンをクリックすると、ファイル作成ダイアログが表示されます。
ファイル名に「tutorial01-1_helloworld.py」と入力して保存ボタンをクリックしてファイルを保存します。
保存したスクリプトファイル 「tutorial01-1_helloworld」 がスクリプトリストに表示されます。

スクリプトの説明

スクリプトファイルを作成することができました。
スクリプトリストの「samples [CRI]」を見てみると、いくつかのサンプルスクリプトがあります。
作成した「tutorial01-1_helloworld」以外のスクリプトファイルには、スクリプトリストに説明の表示があることに気づくと思います。

スクリプトリストには、スクリプト内の次の書式で書かれたコメントを読み取り、スクリプトリストの「説明」欄に表示する機能があります。

# --Description: 説明文

スクリプトリストの「tutorial01-1_helloworld」をダブルクリックして、 スクリプトエディターからのスクリプト実行 でスクリプトファイルを開き、次のように説明用のコメントを入力してみましょう。

# --Description:[チュートリアル] Hello Worldをスクリプトログに表示

コメントを入力後、スクリプトエディターのツールバーにある [保存] ボタンをクリックしてスクリプトを保存します。
スクリプトリストに戻ると「tutorial01-1_helloworld」スクリプトの説明が表示されていることが確認できます。

スクリプトの説明書式の詳細は、 スクリプトエディター用の拡張書式 の「スクリプトの説明書式」を参照してください。

Python 標準の文字列出力を使って「Hello, World」を表示

スクリプト説明文の記述ができましたので、Python 標準の文字列出力関数である print 関数を使ってスクリプトログに「Hello, World」を表示してみましょう。

スクリプトエディターからのスクリプト実行 に戻り、次のように入力します。

print("Hello, World")

スクリプトエディターのツールバーから、[保存] ボタンをクリックしてスクリプトを保存します。

覚え書き
スクリプトの実行はファイルを読み込んで行われます。
このため、スクリプトを編集した場合、実行前にファイルへの保存が必要になります。
保存を行わずに実行を行うと、実行前に保存ダイアログが表示されます。

スクリプトの実行

作成したスクリプトを実行して、スクリプトログウィンドウに「Hello, World」を表示してみましょう。
スクリプトリストのウィンドウに戻り、[ログを表示] ボタンを押して、スクリプトログウィンドウを表示します。

ツールバーにある [実行] ボタンを押してスクリプトを実行すると、スクリプトログウィンドウに「Hello, World」の文字が表示されることが確認できます。

cri.atomcraft.debugモジュールを使って「Hello, World」を表示

Python の print 関数を使って、スクリプトログに "Hello, World" の文字を表示することができました。
続いて、CRI Atom Craft API の debug モジュール を使って、スクリプトログに「Hello, World」を表示してみましょう。

CRI Atom Craft の Debug モジュールをインポート

CRI Atom Craft には、CRI Atom Craft を操作するための Python モジュールが含まれています。
Python で外部の Python モジュールを使用するには、スクリプトに import という文を使って「モジュールを使用する」宣言をします。

CRI Atom Craft API の debug モジュール を使用する場合は、次のように記述します。

import cri.atomcraft.debug


Debug モジュールや、CRI Atom Craft API のその他のモジュールについては、「 モジュールリファレンス 」を参照してください。

覚え書き
import モジュール名」と記述すると、スクリプト内でモジュールが使用できるようになります。
import モジュール名 as 置き換えの名前」のように記述すると、インポートするモジュールを指定の名前に置き換えでき、短いコードでモジュールにアクセスできるようになります。
import cri.atomcraft.debug as acdebug

Debugモジュールの「Log」を使って「Hello, World」を表示

import 宣言をして、CRI Atom Craft API の debug モジュール を使用する準備ができました。

早速、Debug モジュールを使って、「Hello, World」を表示してみます。
Debug モジュールには、いくつかの文字列出力関数が用意されていますが、ここでは log 関数を使って「Hello, World」を表示します。

import cri.atomcraft.debug の宣言の後に、次のようにスクリプトを書いてみましょう。

cri.atomcraft.debug.log("Hello, World")

スクリプトを保存後、スクリプトの実行前にスクリプトログ ウィンドウの「クリア」ボタンを押してログ表示をクリアしてください。
スクリプトを実行すると print 関数による出力と合わせて、"Hello, World" の文字が2行表示されていることが確認できます。


覚え書き
Python 標準出力 print 関数と Debugモジュール log 関数の違い
スクリプトエディターからのスクリプト実行 からのスクリプトのローカル実行で print 関数、 log 関数を使用した場合、どちらもスクリプトログにログが出力され実質の違いはありません。
しかし、 Python スクリプトのリモート実行print 関数を使用すると、CRI Atom Craft のスクリプトログにはメッセージが出力されず、実行アプリケーション側にメッセージ出力が行われます。
この違いは、print 関数がスクリプト実行アプリケーションにて処理されているために発生します。 逆に、 log 関数は、リモート実行時もスクリプトログにしか出力しません。

外部アプリケーションからスクリプトのリモート実行にて CRI Atom Craft を操作する場合、外部アプリケーション側にログ出力を行いたい場合もあるかと思います。
print 関数、log 関数の使い分けで、出力先を分けるとよいでしょう。

[リモート実行例:ターミナルからリモート実行で CRI Atom Craft に接続後、print 関数を実行]


覚え書き
このチュートリアルでは、"Hello World" の文字を表示するという目的で、log 関数を使用したログの出力を行いました。
実際に CRI Atom Craft を操作するスクリプト処理を書いていく場合、ログの出力は、主に実行中の処理を確認するためのデバッグ目的として使われることが多くなります。
debug モジュール には log 関数以外に、警告出力用の warning 関数も用意してあります。
関数名 説明
log 標準のログを出力します
warning 警告のログを出力します
強調したログが出力されます
warning 関数にて出力した文字列は、CRI Atom Craft のログビューに色付き文字で表示されます。(スクリプトログでの色付き出力は未対応です)
用途別に使用する関数を使い分けることで、効率のよいスクリプト実行確認が行えます。