python_timerec

pythonで時刻を記録する

GUIの簡単な例としても参考にしてほしい。

import Tkinter as tk
from datetime import datetime

dateText = ""
def time_label():
    global dispBox, dateText
    dateText = dateText + datetime.now().strftime("%Y/%m/%d %H:%M:%S.%f") + "\n"
    dispBox.config(text=dateText)

def write_results():
    global dateText, root
    outfile = open("timeRecord" + datetime.now().strftime("%H%M%S") + ".txt", 'w')
    outfile.write(dateText)
    outfile.close()
    print dateText
    root.destroy()

root = tk.Tk()
root.title("Time Recorder")
rec_button = tk.Button(root, text='Record', width=25, command=time_label)
rec_button.pack()
stop_button = tk.Button(root, text='End', width=25, command=write_results)
stop_button.pack()
dispBox = tk.Label(root, fg="dark green")
dispBox.pack()
root.mainloop()

これをtimerec.pyのような名前でDocumentsにセーブしておいて、Anacondaの"Anaconda Prompt"を立ち上げ

      python timerec.py

のように実行するのが便利だと思う。 もちろん、jupyterやspyderで実行することもできる。

Recordをクリックしたときに時刻を表示、Endを押すと記録した時刻をPrompt画面に文字列として表示する。ファイルに書き出すときには、

      python timerec.py > record.txt

のようにファイルリダイレクトする。もしスクリプトの中で書き出すファイルを指定したいときは、write_result()関数をファイルに書き出すように書き換える。 (注) ファイルをオープンして書き出すようにしたので、これは必要ない。

pythonスクリプトをアイコンクリックにより実行する

Windowsは拡張子によって、そのソフトでそのファイルを開く(実行する)かをきめるので、拡張子".py"がつくファイルはpython.exeで実行するよう登録すれば良い。 右クリックで、その他のプログラムを指定する。python.exeは、Anaconda2をインストールしてあるディレクトリにある。(個人用にインストールした場合は"ホームフォルダ/Anaconda2"にある。

秒以下の精度で記録する

strftime関数の書式指定で、秒のあとに".%f"のように加えればマイクロ秒まで記録できる。