class OmFSList list Список строк хранимый текстовом файле При сохранен

 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class OmFSList(list):
'''
Список строк хранимый в текстовом файле.
При сохранении элеметнов они приводятся к строке.
Пустые строки при сохранении и загрузке игнорируются.
Пробельные символы в начале и конце строки удаляются.
'''
def __init__(self, fn):
list.__init__(self)
self.fn = fn
try:
self.load()
except IOError:
pass
def load(self):
# загружаем список из файла
del self[:]
f = open(self.fn)
for s in f:
s = s.strip()
if not s:
continue
self.append(s)
f.close()
return self
def save(self):
# сохраняем список в файл построчно
f = open(self.fn, 'w')
i = 0
for s in self:
s = str(s).strip()
if not s:
continue
if i > 0:
f.write('\n')
f.write(s)
i += 1
f.close()
return self