はじめに
自分が作ったプログラムの使用記録を残したい
よって簡単で扱いやすい形式で保存しておきたい
よって今回JSON形式で使用記録、すなわちLogを記録しておく
環境
windows 10
python version: 3.7.8
Code
import json
import datetime
import os
import getpass
def Save_Log():
data = {
'name': getpass.getuser(),
'date': str(datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S')),
}
log_json = ""
if os.path.exists('./log.json'):
try:
json_file = open('./log.json', 'r')
log_json = json.load(json_file)
log_json["count"] += 1
log_json["log"][log_json["count"]] = data
json_file.close()
except Exception as e:
print(e)
else:
log_json = {"log": {
"1": data
},
"count": 1}
# print(log_json)
json_write = open('./log.json', 'w')
json.dump(log_json, json_write, indent=4, separators=(',', ': '))
json_write.close()
if __name__ == '__main__':
Save_Log()
log.json
{
"log": {
"1": {
"name": "tanaka",
"date": "2022/11/05 22:43:02"
},
"2": {
"name": "tanaka",
"date": "2022/11/05 22:43:36"
},
"3": {
"name": "tanaka",
"date": "2022/11/05 22:43:37"
},
"4": {
"name": "tanaka",
"date": "2022/11/05 22:44:30"
},
"5": {
"name": "tanaka",
"date": "2022/11/05 22:44:31"
}
},
"count": 5
}
ファイルの実行の度に実行者の名前と時間が記録される
情報のuid的な存在は今回はcountとして順番に番号をつけた。
従業員番号もしくはuuid
などをつけても良さそう
まとめ
プログラムを実行するときに一緒に実行するようにセットした。JSONファイルは普通の人なら開こうと思わないので、自分用の簡易データとしては扱いやすい。
os
などのモジュールを利用すると、より個人的なパソコン情報を保存に活かせる(あまりいいことではないですが、、、)
関連