-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStorage.py
27 lines (22 loc) · 953 Bytes
/
Storage.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Storage:
def __init__(self, brain, DataFolder, NeuronsPerFile):
self._Brain = brain
self._DataFolder = DataFolder
self._NumberOfFiles = max(1,int(self._Brain._NumberOfNeurons/NeuronsPerFile))
self._FileNames = {}
self.AssembleFileNames()
def AssembleFileNames(self):
for i in range(self._NumberOfFiles):
name = self._DataFolder + "/data" + str(i).zfill(4) + ".dat"
self._FileNames[i] = name
def ConstructLine(self,fileID):
l = "{:.3f}".format(self._Brain._t) + ', '
for i in range(self._Brain._NumberOfNeurons):
l += "{:.3f}".format(self._Brain._X[i]) + ', '
l += '\n'
return l
def WriteLine(self):
for fileID in range(self._NumberOfFiles):
l = self.ConstructLine(fileID)
with open(self._FileNames[fileID],"a") as f: #in write mode
f.write(l)