Прикреплённый файл «notepickle.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Записная книжка. В списке хранятся различные объекты Python, которые можно в него добавлять с клавиатуры (используется input()). Напишите программу, которая сохраняет ввод в файл, если видит специальную завершающую последовательность, и восстанавливает данные оттуда при последующем запуске.
5
6 Подсказка: input() — очень опасная функция, она выполняет eval() от введённой строки, следовательно, если вы определите функцию Quit() в программе, а потом введёте Quit() со стандартного ввода, то input() эту функцию выполнит!
7
8 Ввести ещё несколько функций, например, List(начало, конец) для просмотра пронумерованного списка (если параметры не указаны — всего) и Delete(начало, конец)
9 '''
10
11 import pickle,os
12
13 Notes,NoteName=[],"Notes.data"
14
15 if os.path.exists(NoteName):
16 NoteFile=file(NoteName)
17 Notes=pickle.load(NoteFile)
18 NoteFile.close()
19
20 def Quit():
21 global Cont, Data
22 Cont,Data=False,False
23
24 def List(start=0,end=None):
25 global Data
26 if end is None: end=len(Notes)
27 for i in xrange(start,end):
28 print "{0:3} {1}".format(i,Notes[i])
29 Data=False
30
31 def Delete(pos):
32 global Data
33 del Notes[pos]
34 Data=False
35
36 Cont=True
37
38 while Cont:
39 Data=True
40 Obj=input("> ")
41 if Data: Notes.append(Obj)
42
43 NoteFile=file(NoteName,"w")
44 pickle.dump(Notes,NoteFile)
45 NoteFile.close()
46
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-02-08 12:41:50, 1.8 KB) [[attachment:notepickle.py]]
- [получить | показать] (2012-02-08 12:24:49, 0.8 KB) [[attachment:shufflemeter.py]]
- [получить | показать] (2012-02-08 12:24:30, 4.0 KB) [[attachment:sort_tape.py]]
Вам нельзя прикреплять файлы к этой странице.