48 lines
1.0 KiB
Python
48 lines
1.0 KiB
Python
|
import pathlib
|
||
|
import datetime
|
||
|
|
||
|
now = datetime.datetime.now()
|
||
|
|
||
|
|
||
|
class Logger:
|
||
|
def __init__(self, path):
|
||
|
self.fileName = pathlib.Path(
|
||
|
path, f"result-{now.strftime('%Y-%m-%dT%H.%M.%S')}.csv"
|
||
|
)
|
||
|
self.file = open(self.fileName, "x")
|
||
|
|
||
|
self.first = True
|
||
|
self.index = []
|
||
|
self.data = []
|
||
|
|
||
|
def add(self, name: str, value):
|
||
|
self.index.append(name)
|
||
|
self.data.append(value)
|
||
|
|
||
|
def csv(self, input):
|
||
|
result = ""
|
||
|
|
||
|
for idx, item in enumerate(input):
|
||
|
result += str(item)
|
||
|
if idx != (len(input) - 1):
|
||
|
result += ", "
|
||
|
result += "\n"
|
||
|
print(result)
|
||
|
|
||
|
return result
|
||
|
|
||
|
def update(self):
|
||
|
if self.first:
|
||
|
self.first = False
|
||
|
self.file.write(self.csv(self.index))
|
||
|
|
||
|
self.file.write(self.csv(self.data))
|
||
|
|
||
|
# Clear data
|
||
|
self.index = []
|
||
|
self.data = []
|
||
|
|
||
|
def __del__(self):
|
||
|
print("Log file closed!")
|
||
|
self.file.close()
|