logファイルを開いたままで、その内容を更新したい

実現したいこと

pythonのtkinterを用いて、「ボタンを押すと、押した時刻がlogファイルとして記録されるアプリ」を作ろうとしています。

下記のようなコードを用いても正しく記録されるのですが、「TimeLog.log」ファイルを開いた状態でボタンを押すと、「押した時刻」は当ファイルにすぐに反映されません。当ファイルを一度閉じてから開く必要があります。

これを、「当ファイルを開いたままでも、押した時刻がファイル上に新しく表示される」状態にするにはどのようにすればよいでしょうか?

不慣れな点はありますが、よろしくお願いします。

該当のソースコード

python

1import datetime 2import pandas as pd 3import tkinter as tk 4import os 5 6file_name = "TimeLog.log"7 8def time_check():9 10 Log = pd.DataFrame([datetime.datetime.now()])11 12 Log.columns = ["時刻"]13 14 if (os.path.isfile(file_name)):15 16 Log2 = pd.read_csv(file_name)17 18 Log = pd.concat([Log2, Log])19 20 else:21 pass22 23 Log.to_csv(file_name, sep=",", index=False)24 25root = tk.Tk()26root.geometry("1920x1080")27root.state("zoomed")28 29button = tk.Button(root, text="打刻", command=time_check, font=("", 30))30button.pack(anchor="center", expand=1)31 32root.mainloop()

補足情報(FW/ツールのバージョンなど)

pythonのバージョンは3.7.7です。

コメントを投稿

0 コメント