timeライブラリ
timeライブラリは時間や時刻にかかわる関数を使用することができます。
標準ライブラリで初めから使用することができるので、誰でも簡単にディレイやプログラムの実行時間の測定ができます。
timeライブラリで定義されている関数のほとんどがC言語で書かれているためすべての関数がすべてのプラットフォームで使用できるわけではないので注意が必要です。
time.sleep(sec)
引数にプログラムを停止させたい時間を入れることで、その時間だけプログラムを停止させることができる。
一定間隔で文字を画面に表示させたいときや、マイコンを使ってLEDの点滅プログラムを作成するときに使用するとよい。
引数は小数も指定でき、短いディレイを入れることも可能。
#!/use/bin/python
#coding : utf-8
import time
for i in range(4):
print "%s秒"%i
time.sleep(1)
1行目:pythonプログラムの実行パスを指定している
2行目:プログラム内で漢字を使用しており、対応させるためにutf-8を指定する
3行目:timeライブラリをインポートする
5行目:4回繰り返すfor文
6行目:print文で画面に文字列を出力、秒数は変数iを代入して表示
7行目:sleep関数で1秒間プログラムを停止させる
このプログラムを実行すると
0秒 #1秒間隔で表示されていく
1秒 #カウントアップ
2秒
3秒
このように表示される。
文字列が1秒間隔で表示されるため、カウントアップやカウントダウンのプログラムが作成できる。
print文での表示部分をLEDの点灯・消灯のプログラムに置き換えると点滅が可能。
time.time()
エポックと呼ばれるある起点(UNIX系だと1970年1月1日)から経過した秒数を不動小数点数で返します。
使い方次第でプログラム実行時間を測定できます。
#!/use/bin/python
#coding : utf-8
import time
startTime = time.time()
time.sleep(5)
executeTime = time.time() - startTime
print executeTime
1行目:pythonプログラムの実行パスを指定している
2行目:プログラム内で漢字を使用しており、対応させるためにutf-8を指定する
3行目:timeライブラリをインポートする
5行目:測定開始点の時間を変数に代入
6行目:5秒のディレイ
7行目:測定終了点の時間から測定開始点を引いた値(測定結果)を変数に代入
8行目:測定結果を表示
実行すると
5.00099992752
プログラムに組み込んでみてどの箇所の処理に時間がかかっているのか、繰り返し動作させてバラつきがないのかを確認することができます。
今回の結果は変数に代入しているため、出力に他に、csvファイルなどに書き出してデータとして残すことも可能です。
実行時間は短縮は重要な部分になるので、ぜひ活用してください。