・pythonのもっとも基本的なプログラムの例です。
・ディスプレイに文字を表示するだけのシンプルな機能です。
・なお、pythonの最新版はバージョン3ですが、べゼリーでは安定性を重視してバージョン2.7を使っています。(pythonのバージョンについて)
sample_print1.py
機能
・1秒ごとにディスプレイに文字列を表示します。
事前準備
・ラズパイのHDMI端子にディスプレイを接続してから、ラズパイを起動してください。パソコンとは異なり、起動後にHDMIディスプレイを接続しても認識してくれません。
実行方法
・まずはcd(チェンジディレクトリ)コマンドを使って、べゼリーのディレクトリに移動しましょう。
1 2 |
$ cd $ cd bezelie/edgar |
・または、以下のように移動することもできます。結果は同じです。
1 |
$ cd /home/pi/bezelie/edgar |
・このディレクトリに目的のファイル「sample_print1.py」が入っているかどうかls(リスト)コマンドで確認してみましょう。
1 |
$ ls |
・ファイルがたくさん表示されてしまって、目的のファイルを探すのが大変だーというときは、ワイルドカードを使ってみるのもよいですね。ワイルドカードというのはトランプゲームで何にでも使えるカードのことで、Linuxではアスタリスク記号「*」を使います。「sample」で始まるファイルだけを表示したいのであれば、以下のようにします。
1 |
$ ls sample* |
・「sample_print1.py」が見つかったと思います。
・先頭に「python」と書いて、プログラムを実行してみましょう。
1 |
$ python sample_print1.py |
・1秒ごとに「実行中です」という文字が画面に表示されたら成功です。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#!/usr/bin/python # -*- coding: utf-8 -*- # Bezelie Sample Code for Raspberry Pi : 1秒おきに文字を画面に表示する # ライブラリの読み込み from time import sleep # ウェイト処理 # メインループ def main(): try: print "開始します" while True: print "実行中です" sleep (1) # 1秒待つ except KeyboardInterrupt: # コントロール+Cが押された場合の処理 print "終了しました" if __name__ == "__main__": main() |
解説
・1行目の「#!/usr/bin/python」はshebang(シェバン)と言って、このスクリプトを実行するプログラムが何であるかを指定しています。書かなくてもほぼ問題なく動くのですが、念のための習慣として書いてます。
・2行目の「# -*- coding: utf-8 -*-」はソースコードの中にASCIIで表すことができない文字があった場合、どのエンコード形式でエンコードするかの定義です。python2.7はデフォルトの文字コードがアスキーなので、プログラムに日本語が含まれるなら、これを書いておいたほうがよいです。
・3、5、8行目はコメントです。pythonでは「#」から行末までがコメントになります。
・6行目は時間に関連するライブラリ「time」から「sleep」を読み込んでいます。「sleep」は指定時間(秒)動作を停止して待つ命令で、とてもよく使います。14行目では1秒間待っています。
・12行目の「while True:」は、「条件がTrueである限り、以下の処理を繰り返し行え」という意味です。常に条件が成立しているので、無限に続きます。このループを実行中にキーボードのコントロールキーを押しながら「C」キーを押すと、15行目の「except KeyboardInterrupt:」に抜けます。
応用
・13行目の「実行中です」を好きな言葉に変えて、試してみましょう。
・14行目のsleep(1)の数字を変えると、文字が表示される速度が変わります。