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ファイルなどに書き出してデータとして残すことも可能です。

実行時間は短縮は重要な部分になるので、ぜひ活用してください。

HOMEに戻る