Академический Документы
Профессиональный Документы
Культура Документы
Python
. , ... , .. , . , . , . , .. ,
.. , .-. , .-. , . , .. , .. ,
.. , . , . , . .
Python. / 2001 454 c.
Python , , . , ,
, . , ,
, ,
.
Python: 1.5.2 2.0.
c
c
c
c
3
!
Python.
.
, .
. ,
Python , .
.
Python - .
, , ;
;
- , ;
API ,
C C++;
API ;
,
, , , .
Python , , , GUI (RAD).
, , Python Internet Web (CGI), (), Web- . Python ,
, . Python ,
, IBM, Yahoo!, Google.com,
Hewlett Packard, Infoseek, NASA, Red Hat, CBS MarketWatch, Microsoft.
:
Mailman (mailing list manager), GNU;
Medusa TCP/IP
, HTTP, FTP, NNTP, XML-RPC SOAP;
Zope Web- (Web application server), .
4
Python . ; , , , GUI Web-. CGI-
Python ( www.fom.ru ), , Python ( , www.russ.ru ). Zope. : Full.RU (www.full.ru ),
(www.menatep.spb.ru ),
(www.interbit.ru ) .
Python Zope, (zope.net.ru ) Zope.
, ,
Python Zope.
. ,
Python Zope .
, , .
13
15
17
2
2.1 . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 . . . . . . . . . . . . . . . . . . .
2.1.2 . . . . . . . . . . . . . . . . . .
2.2 . . . . . . . . . . . . . . . . . . . .
2.2.1 . . . . . . . . . . . . . . . . . . . .
2.2.2 . . . . . . . . . . . . . . . . . . .
2.2.3
3 Python
3.1 Python
3.1.1 . . . . . . . . . . . . . .
3.1.2 . . . . . . . . . . . . .
3.1.3 Unicode . . . . . . . .
3.1.4 . . . . . . . . . . . . .
3.2 . .
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
4
4.1 if . . . . . . . . . . . . . . . . . . . . . . .
4.2 for . . . . . . . . . . . . . . . . . . . . . .
4.3 range() xrange() . . . . . . . . . . . . .
4.4 break continue, else
4.5 pass . . . . . . . . . . . . . . . . . . . . .
4.6 . . . . . . . . . . . . . . . . . . .
4.7
4.7.1 . . . . . .
4.7.2 . . . . . . . .
4.7.3 . . . . . . . . . . . . .
4.7.4 . . . . . . . . . . . . . . . . . .
4.7.5 . . . . . . . . . . . . . . .
4.7.6 . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
20
21
21
21
21
.
.
.
.
.
.
23
23
23
26
30
32
34
.
.
.
.
.
.
.
.
.
.
.
.
.
36
36
36
37
39
39
40
42
42
43
43
45
45
46
5
47
5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2
5.3
5.4
5.5
5.6
5.7
5.8
. . .
del . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . .
6
6.1 . . . . .
6.2 . . . . . . . . . . . . . . . .
6.3 . . . . . . . . .
6.4 . . . . . . . . . . . . .
6.5 dir() . . . . . . . . . . . . . . .
6.6 . . . . . . . . . . . . . . . . . . . . .
6.6.1
6.6.2 . . .
7 /
7.1 . . . .
7.2 . . . . .
7.2.1 -
7.2.2 pickle . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8.1 . . . . . . . . . . .
8.2 . . . . . . . . . . . . . . . . . .
8.3 . . . . . . . . . . .
8.4 . . . . . . . . . . .
8.5 ,
8.6 . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
()
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
.
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
51
52
53
55
56
57
.
.
.
.
.
.
.
.
58
58
61
61
62
63
64
66
67
.
.
.
.
68
68
72
73
74
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
76
76
76
77
80
80
80
9
9.1 . . . . . . . . . . .
9.2 . . . . . .
9.3 . . . . . . . . . . . . . . .
9.3.1 . . . . . . .
9.3.2 - . . . . . . . . . . . . . . . .
9.3.3 - . . . . . . . . . . . . .
9.3.4 . . . . . . . .
9.4 . . . . . . . . . . . . . . . .
9.5 . . . . . . . . . . . . . . . . . . . . . .
9.6 . . . . . . . . . . . . . . . . . . .
9.7 . . . . . . . . . . .
9.7.1
9.7.2 - . . . . . . . . . . . . . .
9.7.3 . . . . . . . . . . . . . . . . . . .
9.7.4 . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
82
82
83
84
85
85
86
87
88
90
91
92
92
94
95
98
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
II
10
10.1 . . . . . . . . . . .
10.1.1 . . . .
10.1.2 . . . . . . . . . . . . . . . . .
10.2 . . . . . . . . . . . . . . . . . . . .
10.2.1 . . . . . . . . . . . . . . . . . . .
10.2.2 . . . . . . . . .
10.2.3
10.2.4 . . . . . . . . . .
10.2.5 . . . . . . . . . . . . . . . .
10.2.6 . . . . . . . . .
10.2.7 lambda . . . . . . . . . . . .
10.2.8 . . . . . . . . . . .
10.2.9 . . . . .
10.3 . . . . . . . . . . . . . . .
10.3.1 - . . . . . . . . .
10.3.2 . . . . . . . . . . . . . .
10.3.3 del . . . . . . . . . . . . .
10.3.4 . . . . . . . . . . .
10.3.5 print . . . . . . . . . . .
10.3.6 break . . . . . . . . . . .
10.3.7 continue . . . . . . . . .
10.3.8 return . . . . . . . . . .
10.3.9 global . . . . . . . . . .
10.3.10 import . . . . . . . . . .
10.3.11 exec . . . . . . . . . . . .
10.3.12 . . . . . . .
10.3.13 . . . . . . . . .
10.4 . . . . . . . . . . . . . .
10.4.1 if . . . . . . . . . . . . .
10.4.2 while . . . . . . . . . . . . . . .
10.4.3 for . . . . . . . . . . . . . . . . .
10.4.4 try . . . . . . . . . . . . .
10.4.5 . . . . . . . . .
10.4.6 . . . . . . . . . . .
10.5 . . . . . . . . . . . . . . . .
11
11.1 . . . . . . . . . . . . . . . . . .
11.1.1 . . . . .
11.1.2 . . . . . . . . . .
11.1.3 . . . . . . . . . . .
11.1.4 . . . . . .
11.1.5
11.2 . . . . . . . . . . . . . . .
11.2.1 . . . . . . . . . . . . . . . . . .
99
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
102
. 102
. 102
. 103
. 104
. 105
. 106
. 108
. 108
. 110
. 110
. 111
. 111
. 112
. 112
. 113
. 113
. 115
. 115
. 115
. 116
. 116
. 117
. 117
. 117
. 119
. 120
. 120
. 121
. 122
. 122
. 123
. 124
. 125
. 128
. 128
.
.
.
.
.
.
.
.
131
. 131
. 132
. 132
. 133
. 133
. 134
. 135
. 136
11.3
11.4
11.5
11.6
11.7
11.8
11.9
11.2.2 Unicode . . . . . . . . . . . . . . .
11.2.3 . . . . . . . . . . . . . . . . . . .
11.2.4 xrange . . . . . . . . . . . . . .
11.2.5 buffer . . . . . . . . . . . . . .
11.2.6 . . . . .
. . . . . . . . . . . . . . . . . . . . .
, . . . . . . . . .
11.4.1 , . .
11.4.2 , . .
11.4.3 . . . . . .
11.4.4 . . . . . . . . . . . . . . . . . . . .
11.4.5 . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
11.6.1 . . . . . . . . . . . . . . . . . . . .
11.6.2 . . . . . . . . . . . .
11.6.3 . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
11.8.1 . . . . . . . . . . . . . . . .
11.8.2 . . . . . . . . . . . . . . . .
11.8.3
. . . . . . . . . . . . . . . . . .
11.9.1 . . . . . . . . . . . . . . . .
11.9.2 . . . . . . . . . . . . . . . . . .
11.9.3 traceback . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 143
. 144
. 144
. 145
. 145
. 147
. 148
. 149
. 149
. 150
. 151
. 151
. 151
. 152
. 152
. 152
. 153
. 163
. 165
. 165
. 165
. 166
. 166
. 166
. 168
. 169
12
170
13
182
III
187
14
190
14.1 site . . . . . . . . . . . . . . . . . . . . . . . . . . 190
14.2 user . . . . . . . . . . . . . . . . . . . . . . 191
15
192
15.1 sys . . . . . . . . . . . 192
15.2 gc . . . . . . . . . . . . . . . . . . . . 198
15.3 atexit . . . . 200
15.4 types . . . . . . . . . . . . . . . . . . 201
15.5 operator . . . . . . . . . . . . . . . . . . . 204
15.6 traceback traceback . . . . . . . . 208
15.7 imp , import . . . . . 211
15.8 pprint 212
15.9 repr repr() . . . . . . . . . . . . 215
16
217
16.1 string . . . . . . 217
16.2 re . . . . . . . . . . . . . . . . . 220
16.2.1 . . . . . . . . . . . . . . . . . . 220
16.2.2 . . . . . . . . . . . . . . . . 225
16.2.3 , . . . . . . . . . . . 225
16.2.4 , . . . . . . . . . 228
16.2.5 , . . . . . . . . 229
16.3 StringIO cStringIO 231
16.4 codecs . . . . . . . . . . . . . . . 232
17
17.1 locale .
17.2 gettext . . . . .
17.2.1 GNU gettext . . . . . . . . . . . . . . .
17.2.2 , . . . . . . . .
17.2.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
236
. 236
. 240
. 240
. 241
. 244
18
245
18.1 math . 245
18.2 cmath . 247
18.3 random . . . . 249
18.4 whrandom . . . . . . . . . . . . . . . 250
18.5 bisect 251
18.6 array . . . . . . . . . . . . . . . . . . . . . 252
19
19.1 UserString
19.2 UserList .
19.3 UserDict . . . . . .
255
. 255
. 256
. 257
20
20.1 pickle cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20.2 shelve DBM . . . . . . .
20.3 marshal - . . . . . . .
20.4 struct C . . . . . . . .
258
. 258
. 262
. 263
. 264
21 ,
21.1 os . . . . . . . . . .
21.1.1 . . . . . . . . . . . . . . . . . . . .
21.1.2 . . . . . . . . . . . . . . .
21.1.3 . . . . . . . . . .
21.1.4 . . . . . . . . . . . . . . . . . . . . . .
21.1.5 . . . . . . . . . . . . . . . . . .
21.1.6 . . . . . . . . . . . .
21.2 os.path . . . . . . . . . . . . . . . .
21.3 stat os.stat() . . . . . . . . . . . . . . . .
266
. 267
. 267
. 269
. 270
. 273
. 276
. 279
. 280
. 283
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 285
. 286
. 288
. 289
. 294
. 295
. 296
. 298
. 299
. 302
. 303
. 304
. 305
. 307
. 313
. 315
.
.
.
.
.
.
.
.
318
. 318
. 320
. 321
. 321
. 323
. 323
. 324
. 325
22
22.1 thread . .
22.2 threading
22.2.1 , . . . . . . . . . . .
22.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . .
22.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . .
22.2.5 , . . . . . . . . . . . .
22.3 Queue . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
23
23.1 DBM . . . . . . . . . . . .
23.1.1 . . . . . . .
23.1.2 ,
dbhash.open() . . . . . . . . . . . . . . . . . . . . . .
23.1.3 ,
gdbm.open() . . . . . . . . . . . . . . . . . . . . . . .
23.2 whichdb . . . . .
23.3 bsddb BSD . . . . . .
327
. . . . . . . 327
. . . . . . . 328
. . . . . . . 329
. . . . . . . 329
. . . . . . . 330
. . . . . . . 330
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
24
333
24.1 zlib , gzip . . . . . . . . . . . . . . . . 333
24.2 gzip , gzip . . . . . . . . . . . 336
24.3 zipfile zip- . . . . . . . . . . . . . . . . . . . . . . . 336
25 Python
25.1 Python . . . . . . . . .
25.1.1 . . . . . .
25.1.2 . . . . . . . . . . .
25.2 . . . . . . . . . . .
25.2.1 . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
340
. 340
. 341
. 342
. 345
. 345
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
28 , Internet
28.1 rfc822 . . . . . . . .
28.2 mimetools MIME . . . . . . .
28.3 MimeWriter MIME . . . . . . .
28.4 multifile ,
28.5 xdrlib XDR . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
355
. 355
. 355
. 356
. 359
. 361
. 361
. 362
. 363
. 367
.
.
.
.
.
369
. 369
. 373
. 374
. 376
. 378
29
29.1 sgmllib SGML- . . . . . . . . . . . . . . . . . .
29.2 htmllib HTML- . . . . . . . . . . . . . . . . . .
29.3 htmlentitydefs HTML . . . . . . . . . . .
29.4 xml.parsers.expat XML-
Expat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29.5 xml.sax SAX2 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29.6 xml.sax.handler SAX- .
29.6.1 ContentHandler . . . . . . . . . . . . . . . .
29.6.2 DTDHandler . . . . . . . . . . . . . . . . . . .
29.6.3 ErrorHandler . . . . . . . . . . . . . . . . .
29.6.4 EntityResolver . . . . . . . . . . . . . . . .
29.7 xml.sax.saxutils , SAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29.8 xml.sax.xmlreader ,
XML- . . . . . . . . . . . . . . . . . . .
29.8.1 XMLReader . . . . . . . . . . . . . . . . . . .
29.8.2 IncrementalParser . . . . . . . . . . . . .
29.8.3 Locator . . . . . . . . . . . . . . . . . . . . .
29.8.4 InputSource . . . . . . . . . . . . . . . . .
29.8.5 AttributesImpl AttributesNSImpl
383
. 383
. 386
. 388
. 388
. 392
. 394
. 395
. 397
. 397
. 398
. 398
. 399
. 400
. 401
. 402
. 402
. 403
12
30
30.1 fileinput
30.2 ConfigParser . . . . .
30.3 shlex . . . . . . . . .
30.4 cmd . . . . . . . . . .
30.5 calendar . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
409
. 409
. 412
. 415
. 417
. 419
423
A
425
B
428
433
435
13
14
17
- shell-, , , :
- , , , ,
C. . . ,
C. ,
(, ), shell, C,
C.
: C,
. . ,
, ,
, .
, Python , . Python ,
,
, shell. ,
, C , , , ,
C .
, Python ,
Awk Perl, Python
.
Python , . Python ,
.
, ,
.
Python ,
, . , ,
.
.
Python . , Python, C
18
1.
C++ :
;
;
.
Python : C
, . Python , C,
.
, BBC Monty Pythons Flying Circus
.
, Python,
. ,
. , . , ,
.
, , , , ,
.
19
2.1
Python ,
python
EOF (Ctrl-D
UNIX, Ctrl-Z DOS Windows) .
, import sys; sys.exit().
UNIX shell:
;
, .
python -c
command [arg . . . ].
command, -c UNIX shell. Python ,
, , command
.
, python file python < file.
, , input() raw_input() . ,
, EOF. (
), , Python.
. , -i . (
, , , .)
A.
20
2.1.1
2.
() sys.argv, . ( ) .
sys.argv[0]. sys.argv[0] .
- ( ) -c, sys.argv[0] - -c
. , -c command Python, sys.argv
command.
2.1.2
, , . , (>>> ); ,
(... ).
, :
$ python
Python 2.0 (#8, Oct 16 2000, 17:27:58) [MSC 32 bit
(Intel)] on win32
Type "copyright", "credits" or "license" for more
information.
>>>
. , if:
>>> the_world_is_flat = 1
>>> # ,
... if the_world_is_flat:
...
print ", !"
...
, !
2.2.
2.2
2.2.1
21
. , . , ,
. (,
except try, .)
. ;
, ,
.
( Ctrl-C)
KeyboardInterrupt, try.
2.2.2
UNIX Python
, , ,
#!/usr/bin/env python
(, PATH
) . #! . , # Python
.
2.2.3
Python , , .
PYTHONSTARTUP , ( .profile UNIX shell).
,
,
. ,
, - .
(sys.ps1) (sys.ps2) .
22
2.
, , :
if os.path.isfile(.pythonrc.py):
execfile(.pythonrc.py)
, :
import os
filename = os.environ.get(PYTHONSTARTUP)
if filename and os.path.isfile(filename):
execfile(filename)
23
Python
(>>> ... ):
. , , . ,
,
.
, , . Python # .
, . #
#.
:
#
SPAM = 1
#
# ... , , !
STRING = "# ."
3.1
Python
Python. >>> ( .)
3.1.1
: ,
. : +, -, * / ,
(, Pascal C).
. :
24
>>>
4
>>>
...
4
>>>
4
>>>
5
>>>
...
...
2
>>>
-3
3. Python
2+2
#
2+2
2+2
# ,
(50-5*6)/4
#
# :
7/3
7/-3
, (=) . :
>>> width = 20
>>> height = 5*9
>>> width * height
900
:
>>>
>>>
0
>>>
0
>>>
0
x = y = z = 0 # x, y z 0
x
y
z
.
:
>>> 4 * 2.5 / 3.3
3.0303030303030303
>>> 7.0 / 2
3.5
. j J. (real+imagj)
complex(real, imag).
3.1. Python
25
>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0,1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)
. z, z.real and z.imag.
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5
(int(),
long() float())
. abs(z) z.real
.
>>> a=1.5+0.5j
>>> float(a)
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: cant convert complex to float; use e.g.
abs(z)
>>> a.real
1.5
>>> abs(a)
1.5811388300841898
_. Python , :
>>> tax = 17.5 / 100
>>> price = 3.50
>>> price * tax
0.61249999999999993
>>> price + _
26
3. Python
4.1124999999999998
>>> print round(_, 2)
4.11
, .
, .
3.1.2
, Python (string),
1 .
:
>>> spam eggs
spam eggs
>>> doesn\t
"doesnt"
>>> "doesnt"
"doesnt"
>>> "Yes," he said.
"Yes," he said.
>>> "\"Yes,\" he said."
"Yes," he said.
>>> "Isn\t," she said.
"Isn\t," she said.
.
(\), :
hello = " , \n\
, C.\n\
, \
\n .\n"
print hello
:
,
, C.
1
Python 7- .
,
, , .
.
3.1. Python
27
,
.
-, : """ . ,
.
print """
Usage: thingy [OPTIONS]
-h
-H hostname
"""
:
Usage: thingy [OPTIONS]
-h
-H hostname
,
: ,
,
(\). , ,
, . print, ,
.
,
r R :
,
,
.
. ,
, , .
() + *:
>>> word = Help + A
>>> word
HelpA
>>> < + word*5 + >
<HelpAHelpAHelpAHelpAHelpA>
, , . word = Help A.
28
3. Python
, .
>>> str ing
string
>>> str.strip()
string
>>> str.strip()
File "<stdin>",
str.strip()
#
+ ing
ing
#
line 1
ing
^
SyntaxError: invalid syntax
,
. C,
0. , .
Icon, ,
.
>>> word[4]
A
>>> word[0:2]
He
>>> word[2:4]
lp
Python . :
>>> word[0] = x
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: object doesnt support item assignment
>>> word[:-1] = Splat
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: object doesnt support slice assignment
:
0, ,
.
>>> word[:2]
He
>>> word[2:]
lpA
#
# ,
3.1. Python
29
: s[:i] + s[i:] s.
>>> word[:2] + word[2:]
HelpA
>>> word[:3] + word[3:]
HelpA
: , ;
, .
>>> word[1:100]
elpA
>>> word[10:]
>>> word[2:1]
, :
>>> word[-1]
A
>>> word[-2]
p
>>> word[-2:]
pA
>>> word[:-2]
Hel
#
#
#
#
-0 , 0, .
>>> word[-0]
H
# ( -0 0)
,
, (
):
>>> word[-100:]
HelpA
>>> word[-10]
#
Traceback (innermost last):
File "<stdin>", line 1
IndexError: string index out of range
30
3. Python
, , 0 .
, :
H
0
5
e
1
4
l
2
3
p
3
2
A
4
1
,
0 5, . i j
, i j, .
, , , word[1:3]
2.
len() :
>>> s = supercalifragilisticexpialidocious
>>> len(s)
34
3.1.3
Unicode
1.6, Python
Unicode. , , Unicode (.
http://www.unicode.org). Unicode ,
, , .
Unicode , .
256 ,
, (internationalization, i18n i + 18 + n) . Unicode
, .
Unicode , :
>>> uHello World !
uHello World !
3.1. Python
31
u ,
Unicode. , :
>>> uHello\u0020World !
uHello World !
\u0020 , Unicode
0x0020 ().
, 256 Unicode , Latin-1, , ,
.
, Unicode , r R . ,
Unicode,
u:
>>> urHello\u0020World !
uHello World !
>>> urHello\\u0020World !
uHello\\\\u0020World !
, Python
Unicode . unicode()
Latin-1, ASCII, UTF-8, UTF-16, ISO-88595, KOI8-R, CP1251, CP866 Mac-cyrillic, . Python
ASCII2 , , print
. ,
Unicode unicode(),
:
>>> s = unicode("", "KOI8-R")
>>> s
u\u041F\u0440\u0438\u0432\u0435\u0442
Unicode 127,
ASCII :
>>> str(s)
Traceback (most recent call last):
2
ASCII . sys.set_string_encoding(). .
32
3. Python
3.1.4
Python ,
. (list),
(), ,
. , .
>>> a = [spam, eggs, 100, 1234]
>>> a
[spam, eggs, 100, 1234]
, .
, :
>>> a[0]
spam
>>> a[3]
1234
>>> a[-2]
100
>>> a[1:-1]
[eggs, 100]
>>> a[:2] + [bacon, 2*2]
[spam, eggs, bacon, 4]
>>> 3*a[:3] + [Boe!]
[spam, eggs, 100, spam, eggs, 100, spam,
eggs, 100, Boe!]
, (immutable),
:
>>> a
[spam, eggs, 100, 1234]
3.1. Python
33
q = [2, 3]
p = [1, q, 4]
len(p)
p[1]
3]
p[1][0]
p[1].append(xtra)
p
[2, 3, xtra], 4]
q
3, xtra]
, , , append() .
, p[1] q !
34
3. Python
3.2
, Python , .
, :
>>>
...
...
...
>>>
...
...
...
1
1
2
3
5
8
# :
#
#
a, b = 0, 1
while b < 10:
print b
a, b = b, a+b
.
(multiple assignment): a b 0 1.
, , .
.
while (: b < 10) .
Python, , , .
,
. ,
. , , . , : <, >, ==,
<= ( ), >= ( ) != ( ).
: Python . ()
, .
Python ,
.
, ,
( , ). ,
.
3.2.
35
print . ( ),
print
, :
>>> i = 256*256
>>> print i , i
i 65536
:
>>> a, b = 0, 1
>>> while b < 1000:
...
print b,
...
a, b = b, a+b
...
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
,
,
.
36
while, Python
.
4.1
if
, if:
>>>
>>>
...
...
...
...
...
...
...
...
...
x = int(raw_input(", , : "))
if x < 0:
x = 0
print ,
elif x == 0:
print
elif x == 1:
print
else:
print
4.2
for
for Python ,
C Pascal. ,
( Pascal),
( ), 1
1
: Python ;
37
(, ) :
>>> # :
... a = [, , ]
>>> for x in a:
...
print x, len(x)
...
3
4
9
(
, , , ).
, , ,
,
. :
>>> for x in a[:]: # ()
...
if len(x) > 4: a.insert(0, x)
...
>>> for x in a:
...
print x,
...
(. 5.2),
.
4.3
range() xrange()
,
range(). , :
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
.
range(10) 10 , , 10.
(), :
( for) .
38
4.
39
2
3
4
4.4
break, C, for
while. continue, C, .
else, ( for,
while), break.
:
>>>
...
...
...
...
...
...
...
2 3 4 =
5 6 =
7 8 =
9 =
2 * 2
2 * 3
2 * 4
3 * 3
4.5 pass
pass ,
, :
>>> while 1:
...
pass #
...
40
4.
4.6
, :
>>>
...
...
...
...
...
...
...
>>>
...
1 1
def fib(n):
,
n
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
#
fib(2000)
2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
def . , , . , , , .
(. 4.7.5). , , .
.
,
. , . ,
, , , . ,
( global), .
. , (
, )2 .
, .
. ,
. ,
( ):
>>> fib
<function object at 10042ed0>
2
, , :
, , (, )
, .
4.6.
41
>>> f = fib
>>> f(100)
1 1 2 3 5 8 13 21 34 55 89
, fib , .
Python, C, ,
. , , , ,
. None ( ).
None , , :
>>> print fib(0)
None
, , , :
>>>
...
...
...
...
...
...
...
...
...
>>>
...
>>>
...
[1,
def fib2(n):
,
, n
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
#
f100 = fib2(100)
#
f100
1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
, ,
Python:
return .
return (
), None.
result.append(b) - result. , , obj.methodname,
obj ( ) methodname , .
. , . (
42
4.
.) append(), ,
-. . result = result +
[b], .
4.7
Python .
, .
4.7.1
. , ,
, , :
def ask_ok(prompt, retries=4,
complaint= , !):
while 1:
ok = raw_input(prompt)
if ok in (, ): return 1
if ok in (, , ): return 0
retries = retries - 1
if retries < 0:
raise IOError(
)
print complaint
: ask_ok( ?), : ask_ok( ?, 2).
,
i = 5
def f(arg = i): print arg
i = 6
f()
5.
: .
, ,
4.7.
43
, . ,
( l )3 :
def f(a, l = []):
l.append(a)
return l
print f(1)
print f(2)
print f(3)
:
[1]
[1, 2]
[1, 2, 3]
,
, :
def f(a, l = None):
if l is None:
l = []
l.append(a)
return l
4.7.2
, ,
. 4 .
:
def fprintf(file, format, *args):
file.write(format % args)
4.7.3
(keyword
arguments) keyword = value. , ask_ok() ( 4.7.1)
:
3
, , ,
. .
4
, .
44
4.
ask_ok( ?)
ask_ok(retries = 2, prompt = ?)
ask_ok(?, complaint =
, -!)
ask_ok( ?, 100,
- ?)
:
#
ask_ok()
#
ask_ok(prompt = ?, 2)
#
ask_ok(?, prompt = /)
#
ask_ok(actor = )
, . ,
. :
>>> def function(a):
...
pass
...
>>> function(0, a=0)
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: keyword parameter redefined
**name,
, ,
.
*name, (tuple), , . ( **name *name.) , :
def example(formal, *arguments, **keywords):
print " :", formal
print -*40
for arg in arguments: print arg
print -*40
for kw in keywords.keys():
print kw, :, keywords[kw]
4.7.
45
:
example(1000000,
,
,
language = Python,
author = Guido van Rossum)
:
: 1000000
---------------------------------------
---------------------------------------language: Python
author: Guido van Rossum
4.7.4
Python , . lambda
. , , , lambda a, b: a+b.
, -. . ,
, ,
. ,
:
>>>
...
...
>>>
>>>
42
>>>
43
4.7.5
def make_incrementor(n):
return lambda x, incr=n: x+incr
f = make_incrementor(42)
f(0)
f(1)
( ) ,
46
4.
. (, IDLE) . , ,
. :
>>> print map.__doc__
map(function, sequence[, sequence, ...]) -> list
Return a list of the results of applying the function
to the items of the argument sequence(s). If more than
one sequence is given, the function is called with an
argument list consisting of the corresponding item of
each sequence, substituting None for missing values
when not all sequences have the same length. If the
function is None, return a list of the items of the
sequence (or a list of tuples if more than one
sequence).
Python . , , . (
).
.
4.7.6
47
, .
5.1
, append()
:
>>> a = [66.6, 333, 333, 1, 1234.5]
>>> a.append(333)
>>> a
[66.6, 333, 333, 1, 1234.5, 333]
.
insert ,
:
>>> a.insert(2, -1)
[66.6, 333, -1, 333, 1, 1234.5, 333]
, , : , () ( index), ( count):
>>> a.index(333)
1
>>> print a.count(333), a.count(66.6), a.count(x)
3 1 0
remove() () ,
:
>>> a.remove(333)
>>> a
[66.6, -1, 333, 1, 1234.5, 333]
48
5.
( sort()) ( reverse()):
>>> a.sort() #
>>> a
[-1, 1, 66.6, 333, 333, 1234.5]
>>> a.reverse()
>>> a
[1234.5, 333, 333, 66.6, 1, -1]
11.2.6.
, .
5.1.1
, , ,
(LIFO, last-in, first-out).
, append(),
pop() :
>>>
>>>
>>>
>>>
[3,
>>>
7
>>>
[3,
>>>
6
>>>
5
>>>
[3,
5.1.2
stack = [3, 4, 5]
stack.append(6)
stack.append(7)
stack
4, 5, 6, 7]
stack.pop()
stack
4, 5, 6]
stack.pop()
stack.pop()
stack
4]
, ,
(FIFO, first-in, first-out). ,
append(), pop()
0:
5.2.
49
5.2
50
5.
a
b
x
y
=
=
=
=
(1, 2, 3)
(4, 5, 6)
zip(a, b)
zip(*x) # apply(zip, x)
5.3.
51
5.3
2.0, Python, , .
for:
52
5.
5.4
vec1 = [2, 4, 6]
vec2 = [4, 3, -9]
[x*y for x in vec1 for y in vec2]
6, -18, 16, 12, -36, 24, 18, -54]
[x+y for x in vec1 for y in vec2]
5, -7, 8, 7, -5, 10, 9, -3]
del
, , ( -
5.5.
53
): del:
>>> a
[-1, 1, 66.6, 333, 333, 1234.5]
>>> del a[0]
>>> a
[1, 66.6, 333, 333, 1234.5]
>>> del a[2:4]
>>> a
[1, 66.6, 1234.5]
del :
>>> del a
a NameError,
.
del.
5.5
, ,
. .
(tuple).
, , :
>>> t = 12345, 54321, hello!
>>> t[0]
12345
>>> t
(12345, 54321, hello!)
>>> # :
... u = t, (1, 2, 3, 4, 5)
>>> u
((12345, 54321, hello!), (1, 2, 3, 4, 5))
, ,
, .
, , (
).
: (x, y), . . , , :
54
5.
( ,
).
, ,
.
,
( ). ,
. :
>>> empty = ()
>>> #
... singleton = hello,
>>> len(empty)
0
>>> empty
()
>>> len(singleton)
1
>>> singleton
(hello,)
t = 12345, 54321, hello! :
12345, 54321 hello! .
:
>>> x, y, z = t
, , . ,
.
:
>>> a = [spam, eggs, 100, 1234]
>>> a1, a2, a3, a4 = a
, , , . ,
, ,
:
>>> t = 1, [foo, bar]
>>> t
(1, [foo, bar])
>>> t[1] = []
#
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: object doesnt support item assignment
5.6.
55
>>> t[1].append(baz)
#
>>> t
(1, [foo, bar, baz])
5.6
Python (dictionary)
. , , ,
, 1 . , ,
, . ,
( -) , ,
append().
: , .
{} . key: value, , , .
.
. key: value del.
, ,
. ,
KeyError.
keys() ( , ,
sort()). , has_key().
:
>>> tel = {jack: 4098, sape: 4139}
>>> tel[guido] = 4127
>>> tel
{sape: 4139, guido: 4127, jack: 4098}
>>> tel[jack]
4098
>>> del tel[sape]
>>> tel[irv] = 4127
1
, ( ),
hash(). , ,
.
56
5.
>>> tel
{guido: 4127, irv: 4127, jack: 4098}
>>> tel.keys()
[guido, irv, jack]
>>> tel.has_key(guido)
1
5.7
,
.
in not in , . is is not ,
. ,
, .
: , a < b == c ,
a b b c.
and or, not.
, . , not or . , A or
not B and C A or ((not B) or C). , .
and or
, . , A C ,
B , A and B and C C . ,
and or ,
.
:
>>> string1, string2, string3 = \
...
, Trondheim, Hammer Dance
>>> non_null = string1 or string2 or string3
>>> non_null
Trondheim
, , C, . ,
C: = ==.
5.8.
5.8
57
- .
:
, , ,
; , . ., .
, .
, . ,
.
ASCII . :
(1, 2, 3)
<
[1, 2, 3]
<
ABC < C < Pascal <
(1, 2, 3, 4)
<
(1, 2)
<
(1, 2, 3)
==
(1, 2, (aa, ab))
<
(1, 2, 4)
[1, 2, 4]
Python
(1, 2, 4)
(1, 2, -1)
(1.0, 2.0, 3.0)
(1, 2, (abc, a), 4)
, .
, . , 0 0.0, . .
58
, (, ) . ,
- ,
. , , , , .
,
.
Python
. .
( ,
).
6.1
, Python.
() .py.
, __name__. , ,
fibo.py :
\
def fib(n):
,
n
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
def fib2(n):
,
, n
6.1.
59
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
:
>>> import fibo
, fibo , fibo. ,
:
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibo.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
>>> fibo.__name__
fibo
,
:
>>> fib = fibo.fib
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377
, , . ,
.
, . ,
,
. , , ,
,
( , ), modname.itemname.
. import .
.
import :
60
6.
6.2.
6.2
61
, spam,
spam.py , ,
PYTHONPATH, .
, , sys.path.
, Python
.
6.3
, ,
spam.pyc , spam.py, ,
- spam. ,
, spam.py spam.pyc
( , .pyc- , .py-
).
spam.pyc. spam.py
,
spam.pyc. - (,
), . , .
- - ( ),
.
:
-O
PYTHONOPTIMIZE , - .pyo-. : assert, if __debug__: . . . ,
.py-. , .pyc- .
-OO , ,
() , .
, , -O,
, .pyo-.
,
.
, , - .pyc- .pyo-. , , -
62
6.
, ,
, .
( ) .pyc-
( .pyo-, -O -OO), .py-. , , .
compileall .pyc- ( .pyo-) . ,
, . ,
.pyc-, , .pyo-, ( .py-,
).
6.4
Python , . , , , , ,
, .
, , , amoeba , Amoeba. : sys, . sys.ps1
sys.ps2 ,
:
>>> import sys
>>> sys.ps1
>>>
>>> sys.ps2
...
>>> sys.ps1 = C>
C> print !
!
C>
sys.path ,
.
PYTHONPATH . ,
:
>>> import sys
>>> sys.path.append(/ufs/guido/lib/python)
6.5. dir()
63
6.5 dir()
, ,
dir(). :
>>> import fibo, sys
>>> dir(fibo)
[__name__, fib, fib2]
>>> dir(sys)
[__name__, argv, builtin_module_names,
copyright, exit, maxint, modules, path,
ps1, ps2, setprofile, settrace, stderr,
stdin, stdout, version]
, dir() , :
>>> a = [1, 2, 3, 4, 5]
>>> import fibo, sys
>>> fib = fibo.fib
>>> dir()
[__name__, a, fib, fibo, sys]
, : , , . .
, dir()
__builtin__:
>>> import __builtin__
>>> dir(__builtin__)
[AccessError, AttributeError, ConflictError,
EOFError, IOError, ImportError, IndexError,
KeyError, KeyboardInterrupt, MemoryError,
NameError, None, OverflowError, RuntimeError,
SyntaxError, SystemError, SystemExit,
TypeError, ValueError, ZeroDivisionError,
__name__, abs, apply, chr, cmp, coerce,
compile, dir, divmod, eval, execfile,
filter, float, getattr, hasattr, hash, hex,
id, input, int, len, long, map, max,
min, oct, open, ord, pow, range,
raw_input, reduce, reload, repr, round,
setattr, str, type, xrange]
64
6.6
6.
,
. , A.B A B.
, ,
.
, () .
( , .wav, .aiff,
.au), .
(, , , ), ,
, . (
):
Sound/
__init__.py
Formats/
__init__.py
wavread.py
wavwrite.py
aiffread.py
aiffwrite.py
auread.py
auwrite.py
...
Effects/
__init__.py
echo.py
surround.py
reverse.py
...
Filters/
__init__.py
equalizer.py
vocoder.py
karaoke.py
...
__init__.py , Python , ,
, ( string). , __init__.py , -
6.6.
65
/ __all__,
.
, :
import Sound.Effects.echo
Sound.Effects.echo. :
Sound.Effects.echo.echofilter(input, output,
delay=0.7, atten=4)
:
from Sound.Effects import echo
Sound.Effects.echo, :
echo.echofilter(input, output, delay=0.7, atten=4)
:
from Sound.Effects.echo import echofilter
Sound.Effects.echo, ,
echofilter() :
echofilter(input, output, delay=0.7, atten=4)
, from package import item, item
, , package,
, . import ,
item , , .
, ImportError.
import
item.subitem.subsubitem, , ,
. ,
, , .
66
6.6.1
6.
()
, from Sound.Effects
import *? , - , , . ,
, Macintosh Windows,
.
,
ECHO.PY: echo, Echo ECHO.
. import : __init__.py __all__, , from package import *.
. __all__, *. ,
Sounds/Effects/__init__.py :
__all__ = ["echo", "surround", "reverse"]
, from Sound.Effects import * Sound.
__all__ , from Sound.Effects import *
Sound.Effects, ,
__init__.py (
). , ,
import, :
import Sound.Effects.echo
import Sound.Effects.surround
from Sound.Effects import *
, echo surround , Sound.Effects
from ... import.
, , , , , .
( ,
, .) ,
()
. ,
, .
6.6.
67
6.6.2
. ,
surround echo. ,
, import
, ,
. , surround import
echo from echo import echofilter.
( Sound ), . , Sound.Filters.vocoder echo
Sound.Effects, from Sound.Effects import echo.
68
/
:
, ,
. .
7.1
: print ( write()).
,
, . , : , . ,
1 . % . %
sprintf() C,
, .
, :
? , Python : str().
repr() (
: expr)
str(). , ,
,
print. str() , , repr() .
:
>>> x = 10 * 3.14
1
1.6 Python.
, string.
7.1.
69
31.4 , :
>>> x
31.399999999999999
str() :
>>> y = 200*200
>>> s = x + str(x) + \
...
, y + str(y) + ...
>>> print s
x 31.4, y 40000...
Python L.
1.6, str() :
>>> repr(1000L)
1000L
>>> str(1000L)
1000
:
>>> p = [x, y]
>>> ps = repr(p)
>>> ps
[31.399999999999999, 40000]
>>> x, y, (spam, eggs)
"(31.399999999999999, 40000, (spam, eggs))"
repr() ( ) :
>>> hello = hello, world\n
>>> print hello
hello, world
>>> hellos = hello
>>> print hellos
hello, world\012
:
70
7. /
7.1.
71
>>> string.zfill(-3.14, 7)
-003.14
>>> string.zfill(3.14159265359, 5)
3.14159265359
% :
>>> import math
>>> print PI %5.3f. % \
...
math.pi
PI 3.142.
, :
>>> table = {Sjoerd: 4127,
...
Jack : 4098,
...
Dcab : 7678}
>>> for name, phone in table.items():
...
print %-10s ==> %10d % (name, phone)
...
Sjoerd
==>
4127
Dcab
==>
7678
Jack
==>
4098
, C. ,
,
(,
str()) , , 2 .
* ,
.
, , :
>>> def f(x):
...
print "%s" % x
...
>>> f(1)
"1"
>>> f([1, 2])
"[1, 2]"
>>> # ,
... f((1,))
"1"
2
: .
72
7. /
>>> #
... f((1, 2))
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<stdin>", line 2, in f
TypeError: not all arguments converted
,
:
>>> def f(x):
...
print "%s" % (x,)
...
>>> #
... f((1,))
"(1,)"
>>> f((1, 2))
"(1, 2)"
,
. ,
%(name)format, :
>>> table = {Sjoerd: 4127, Jack: 4098,
...
Dcab: 8637678}
>>> print Jack: %(Jack)d; Sjoerd: %(Sjoerd)d; \
... Dcab: %(Dcab)d % table
Jack: 4098; Sjoerd: 4127; Dcab: 8637678
vars(),
.
11.2.1.
7.2
open() - (file)
: open(filename, mode).
>>> f=open(/tmp/workfile, wb)
>>> print f
<open file /tmp/workfile, mode wb at 80a0960>
7.2.
73
, , , , .
r, , w ( ), a .
r+ . mode
: , r.
Windows ( Macintosh) , ,
b. , , JPEG UNICODE,
, , !
, , ( -
).
7.2.1
, - f .
f.read(size) .
size . ,
, , size
. , ().
>>> f.read() #
This is the entire file.\012
>>> f.read()
f.readline() .
(\n), ,
.
: readline() ,
, \n.
>>> f.readline() #
This is the first line of the file.\012
>>> f.readline() #
Second line of the file\012
>>> f.readline() #
f.readlines() , .
74
7. /
>>> f.readlines()
[This is the first line of the file.\012,
Second line of the file\012]
f.write(s) s .
>>> f.write(This is a test\n)
f.tell() ,
. , f.seek(offset,
from_what). offset . from_what:
0 ( ,
), 1 2 .
>>>
>>>
>>>
>>>
5
>>>
>>>
d
f=open(/tmp/workfile, rb+)
f.write(0123456789abcdef)
f.seek(5)
# Go to the 5th byte in the file
f.read(1)
f.seek(-3, 2) # Go to the 3rd byte before the end
f.read(1)
, ,
f.close(). /
ValueError:
>>> f.close()
>>> f.read()
Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: I/O operation on closed file
- ,
(isatty(), truncate()).
11.7.
7.2.2
pickle
.
, read() ,
, , int(). ,
7.2.
75
, ,
.
, Python
pickle.
( ) (), . (pickling).
( ) .
(unpickling).
x f, ,
:
pickle.dump(x, f)
(f , ):
x = pickle.load(f)
pickle,
.
pickle Python (persistent) . , , (, )
.
76
, , . ( )
: 1 .
8.1
, , :
>>> while 1 print Hello world
File "<stdin>", line 1
while 1 print Hello world
^
SyntaxError: invalid syntax
, , ,
. ,
: , print,
(:).
, , ,
.
8.2
,
. , ,
, ,
Python. , ,
:
>>> 10 * (1/0)
Traceback (innermost last):
1
, , ,
.
8.3.
77
8.3
, .
, ,
( Ctrl-C). KeyboardInterrupt.
>>> while 1:
...
try:
...
x = int(raw_input(
...
", , : "))
...
break
...
except ValueError:
...
print " . ..."
...
try .
try (,
try except).
78
8.
, except try .
try ,
. , () except, except
try .
except,
try , ,
,
.
try except,
. ( ) . , try,
try. except
:
... except (RuntimeError, TypeError, NameError):
...
pass
except . !
,
( ):
import sys
try:
f = open(myfile.txt)
s = f.readline()
i = int(s.strip())
except IOError, exc:
print " /", exc
except ValueError:
print " ."
except:
print " :", sys.exc_info()[0]
raise #
#
except, try else, , try
. :
8.3.
79
f.close()
else, try, , , .
, .
. . , except
( ) :
>>> try:
...
spam()
... except NameError, x:
...
print , x,
...
spam
,
.
, try, . :
>>> def this_fails():
...
x = 1/0
...
>>> try:
...
this_fails()
... except ZeroDivisionError, exc:
...
print :, exc
...
: integer division or modulo
80
8.4
8.
raise .
:
>>> raise NameError(HiThere)
Traceback (innermost last):
File "<stdin>", line 1
NameError: HiThere
raise .
; , , .
8.5
, ( ) . :
>>> class MyError(Exception): pass
...
>>> try:
...
raise MyError(2*2)
... except MyError, e:
...
print MyError, value , e
...
MyError, value 4
>>> raise MyError(1)
Traceback (innermost last):
File "<stdin>", line 1
__main__.MyError: 1
9.
8.6
try
finally, . :
>>> try:
...
raise KeyboardInterrupt()
8.6.
81
... finally:
...
print !
...
!
Traceback (innermost last):
File "<stdin>", line 2
KeyboardInterrupt
finally ,
try ,
break return.
try except,
finally, .
82
Python .
C++ Modula-3. , ,
,
.
:
,
,
. .
C++, ( )
(public), (virtual). Modula-3, , : -
, , . Smalltalk, ,
: Python .
, ( C++ Modula-3)
. , C++, Modula-3,
.
9.1
9.2.
83
.). ,
. ,
, .
, ,
,
, Pascal.
9.2
, , , .
,
, .
.
. Python , , , ( )
. :
(, ), ,
.
. , .
, maximize
.
, : , z.real, real z. ,
: modname.funcname,
modname - funcname . , : 1 !
, . modname.attribute = 42
, del: del modname.attribute.
. , , . , , , ,
. , ,
. . - ,
__main__, . ( ,
1
. - __dict__, ,
. __dict__ ,
. __dict__ - ,
.
84
9.
__builtin__.)
( ,
). ,
.
, ,
, .
, . ( ).
,
. , . , , , .
(, ). (, ), , :
.
, : , ,
, .
, , .
,
, ! (, .)
Python :
, (
global), .
.
: del x x ,
. , , ,
. ,
.
9.3
,
.
9.3.
85
9.3.1
:
class _:
1
.
.
.
N
, ( class, def),
, . (, if
.)
, , , .
, . .
,
. , . ,
.
, -. , .
- .
( ) , - (
_) , .
9.3.2 -
- : .
- ,
Python: obj.attrname. , -.
:
class MyClass:
86
9.
i = 12345
def f(x):
return
i f ,
- . , ,
MyClass.i. __doc__
, : .
.
- , .
,
x = MyClass()
x.
.
__init__(), :
class MyClass:
def __init__(self):
self.data = []
__init__(),
.
__init__(), , .
, , ,
__init__(). :
>>> class Complex:
...
def __init__(self, realpart, imagpart):
...
self.r = realpart
...
self.i = imagpart
...
>>> x = Complex(3.0, -4.5)
>>> x.r, x.i
(3.0, -4.5)
9.3.3
-? , - .
9.3.
87
.
.
Smalltalk C++. :
, . , x
MyClass, ,
16:
x.counter = 1
while x.counter < 10:
x.counter = x.counter * 2
print x.counter
del x.counter
. , . Python
. , -
append(), insert(), remove(), sort() . . ,
, (instance
method).
- : , -
2 . , x.f
, x. x.f ,
MyClass.f. , ,
- .
9.3.4
:
x.f()
. . x.f -,
:
xf = x.f
while 1:
print xf()
2
lambda-, , (
, __call__) .
88
9.
, .
? , x.f()
, , .
? , Python , , , .
: , ,
, .
x.f() MyClass.f(x). , , , n ( ) ,
.
, , , . ,
, , . ,
, . , , , , ,
, ( ).
, , , , - ( )
-. ,
, - , -.
9.4
( ) ( ) . ,
, , . :
, ,
( ) .
,
,
.
, , . : ,
,
. ( ,
, , .
9.6.) , , C,
9.4.
89
.
self.
: self . ,
, .
( , , ,
.)
-, , . ,
: -
. :
#
def f1(self, x, y):
return min(x, x+y)
class C:
f = f1
def g(self):
return
h = g
f, g h C ,
, C. , lambda. ,
.
, self, :
class Bag:
def __init__(self):
self.data = []
def add(self, x):
self.data.append(x)
def addtwice(self, x):
self.add(x)
self.add(x)
,
. ,
, ( , , ).
, :
, .
90
9.
(
).
, ,
(
).
9.5
, . _
:
class _(_):
1
.
.
.
N
(_) , (_).
, , :
class _(._):
, . -
: , . , ,
, . : _()
.
. , , , ,
, (
C++, Python ).
,
. : _.(self, _), _
, .
Python . :
9.6.
91
class _(_1,
_2,
_3):
1
.
.
.
N
, , . , .
, _,
_1, () _1
_2 . . ( _1, _2, _3
_1.
. ,
.)
9.6
Python . __ (
) ___,
. ,
,
. (
, 255 .) ,
, ,
.
, , ,
, . ,
,
. , , , .
exec, execfile, eval()
evalfile(), : global - . getattr(),
setattr() delattr(), __dict__.
92
9.
9.7
:
John Doe
computer lab
= 1000
.
()
, . , ,
, read()
readline(), ,
. (. 11.6.3), , ,
.
, , , , . , UserString, UserList UserDict, StringIO.
, , , , , ,
.
9.7.1
Python ( ; )
.
.
raise :
raise _
9.7.
93
except ,
. ,
, (
except ,
, ). (
) B, C, D:
class B:
pass
class C(B):
pass
class D(C):
pass
for c in [B, C, D]:
try:
raise c()
except D:
print "D"
except C:
print "C"
except B:
print "B"
, except ,
B, B, B except, .
- , :
, , ,
str() -.
>>> class MyError:
...
def __init__(self, value):
...
self.value = value
...
def __str__(self):
...
return self.value
...
>>> raise MyError(1)
Traceback (innermost last):
File "<stdin>", line 1
__main__.MyError: 1
, 13. Exception
,
( __init__()) (
__str__().
:
94
9.
9.7.2
, -
. , , map() (. 5.2)
(, . .). ,
:
class parallel:
def __init__(self, *args):
self.__args = args
def __getitem__(self, item):
return map(lambda s, i=item: s[i], self.__args)
-
:
>>> seq1 = xrange(10)
>>> seq2 = [1, 2, 3, 5, 7]
>>> for x, y in parallel(seq1, seq2):
...
print x, y
...
0 1
1 2
2 3
3 5
4 7
,
? , for
Python IndexError.
, (
seq1 seq2). for
, .
9.7.
95
2.0 zip(),
.
parallel,
zip() , .
9.7.3
, , .
, , . ,
, . , dictionary .
, .
class set:
def __init__(self, seq = ()):
# _data ,
# .
# (__data) ,
#
# set .
if isinstance(seq, set):
# seq set
# ,
# ""
self._data = seq._data.copy()
else:
# seq
#
self._data = {}
for item in seq:
self._data[item] = None
def items(self):
#
# :
# for item in myset.items():
#
...
return self._data.keys()
def tuple_key(self):
#
#
# .
# .
96
9.
items = self._data.keys()
# , ,
#
# .
items.sort()
return tuple(items)
def add(self, item):
#
#
# .
self._data[item] = None
def remove(self, item):
if self._data.has_key(item):
del self._data[item]
else:
#
raise ValueError("item doesnt exist")
def copy(self):
return set(self)
def __repr__(self):
return set(+self.items()+)
def __len__(self):
# ,
# len().
# .
return len(self._data)
def __contains__(self, item):
# in not in.
return self._data.has_key(item)
def __cmp__(self, other):
# .
return cmp(self._data, other._data)
def __or__(self, other):
# | ().
res = set(self)
res._data.update(other._data)
return res
def __ior__(self, other):
# |=.
9.7.
self._data.update(other._data)
return self
def __and__(self, other):
# & ().
# ,
# .
if len(other._data) < len(self._data):
self, other = other, self
res = set()
for item in self._data.keys():
if other._data.has_key(item):
res._data[item] = None
return res
def __iand__(self, other):
# &=.
for item in self._data.keys():
if not other._data.has_key(item):
del self._data[item]
return self
def __sub__(self, other):
# - (,
# ).
res = set()
for item in self._data.keys():
if not other._data.has_key(item):
res._data[item] = None
return res
def __isub__(self, other):
# -=.
for item in other._data.keys():
if self._data.has_key(item):
del self._data[item]
return self
# ,
#
# ().
__add__ = __or__
__iadd__ = __ior__
def __xor__(self, other):
# ^ (,
# ).
97
98
9.
if len(other._data) < len(self._data):
self, other = other, self
res = set(other)
for item in self._data.keys():
if res._data.has_key(item):
del res._data[item]
else:
res._data[item] = None
return res
def __ixor__(self, other):
# ^=
for item in other._data.keys():
if self._data.has_key(item):
del self._data[item]
else:
self._data[item] = None
return self
9.7.4
__getattr__(),
__setattr__()
__delattr__() . , __getattr__()
__setattr__() :
class VirtualAttributes:
__vdict = None
#
# __vdict:
__vdict_name = locals().keys()[0]
def __init__(self):
# self.__vdict = {},
# ..
# __setattr__
self.__dict__[self.__vdict_name] = {}
def __getattr__(self, name):
return self.__vdict[name]
def __setattr__(self, name, value):
self.__vdict[name] = value
II
101
,
Python. (, ), , .
, .
, .
, .
102
10
Python. B.
10.1
10.1.1
Python .
, . , . ,
, .
,
: ASCII LF UNIX, CR LF DOS Windows,
CR Macintosh.
#, , . .
(\): ,
, ,
. :
if 1900 < year < 2100 and 1 <= month <= 12 \
and 1 <= day <= 31 and 0 <= hour < 24 \
and 0 <= minute < 60 and 0 <= second < 60:
#
return 1
, ,
. ,
10.1.
103
.
, , , .
(, , )
, :
month_names = [,
,
,
,
,
,
,
,
,
,
,
]
#
#
# -
, , . , ,
, , , .
, (whitespace) , , , . (
) .
10.1.2
.
.
( )
, ,
, .
.
: .
, ( ) ,
.
, , :
def perm(l):
# l
if len(l) <= 1:
return [l]
r = []
for i in range(len(l)):
104
10.
s = l[:i] + l[i+1:]
p = perm(s)
for x in p:
r.append(l[i:i+1] + x)
return r
:
# :
def perm(l):
# :
for i in range(len(l)):
s = l[:i] + l[i+1:]
# :
p = perm(l[:i] + l[i+1:])
for x in p:
r.append(l[i:i+1] + x)
# :
#
return r
.
,
. . vim,
autocmd FileType python set softtabstop=4
shiftwidth=4 expandtab autoindent .vimrc
(_vimrc Windows).
(FF) .
(, ).
, ,
.
10.2
( ), . ,
( ).
, 11.6.3.
11.
10.2.
10.2.1
105
, .
global, , .
, (
) .
global , .
,
. ,
, NameError.
()
, . Python : , , spam Spam .
.
( ) :
and
assert
break
class
continue
def
del
elif
else
except
exec
finally
for
from
global
if
import
in
is
lambda
not
or
pass
print
raise
return
try
while
,
( * ; , ):
__*__
( , ).
__* ( )
, .
, __spam, Ham,
_Ham_spam. , .
, .
106
10.
_*
, from module
import *. _
-, . _
( ).
: (. 11.1), ( 11.2.1) Unicode
( 11.2.2).
,
.
. , (. 11.2.3) , .
, ,
(
).
(. 11.2.6 11.3).
, .
, repr(). repr() ( 12) __repr__() (
11.6.3).
10.2.2
, (primary) ,
:
primary.attr
. primary -
10.2.
107
, . attr
primary , AttributeError.
primary[key]
/, (. 11.2 11.3).
primary[slice_list]
. (slice_list)
[start]:[stop] ( start stop ). (, , Numerical Python)
[start]:[stop][:[step]]
(step ) (...). : x[1:10:2],
x[:10, ...], x[5:, ::2]. slice ellipsis, 11.8.3.
primary(arg_list)
. , , 11.4. arg_list ( ) ,
( , ,
(exprN ):
expr1 [, ...]
.
/ , (
) :
>>> def print_vector(s, (x, y, z)):
>>>
print s+:
>>>
print x =, x
>>>
print y =, y
>>>
print z =, z
...
>>> velocity = 0.0, 1.0, 1.0
>>> print_vector( , velocity)
:
x = 0.0
y = 1.0
z = 1.0
name1 = expr1 [, ...]
. nameN () , exprN .
.
*seq
(seq) . ,
,
( ) seq. ,
1.6.
108
10.
**dict
(dict) . , , dict.
,
1.6.
( None),
(, ).
10.2.3
. .
x ** y
, , ,
( not ). , , -x ** -y ,
-(x ** (-y)).
+x, -x, ~x
x * y, x / y, x%y
x + y, x - y
x << y, x >> y
x & y
x ^ y
x | y
10.2.4
( , ) (, ). , , ,
x < y <= z , , x < y and y <= z, , y
( z , x < y ).
, a < b > c ,
( a c ). != <>
, .
10.2.
109
x < y
1, x y, 0.
x <= y
1, x y, 0.
x > y
1, x y, 0.
x >= y
1, x y, 0.
x == y
1, x y, 0.
x <> y
x != y
0, x y, 1. <> !=
, .
.
. , .
Unicode,
unicode() (, ASCII, 127,
UnicodeError). __cmp__() ( __rcmp__(), .
11.6.3), <, <=, >, >=, ==, !=
(<>), , ( ,
).
: ,
. , ,
1 .
is is not :
( ; .
id() 12).
x is y
1, x y , 0.
1
110
10.
x is not y
0, x y , 1.
in not in ,
( )
11.2.
x in y
1, y , ( ==)
x, 0.
x not in y
1, y x, 0.
10.2.5
if while , .
:
None;
, , 0, 0L, 0.0, 0j;
, , , (), [];
() {};
, __nonzero__()
__len__(), . 11.6.3.
.
10.2.6
. ,
not , .
not a == b not (a == b), a == not b
.
10.2.
111
or and .
or and ,
.
not x
x , 1, 0.
x and y
x , x, y.
x or y
x , y, x.
10.2.7
lambda
10.2.8
() () . , ,
, , : ,
(. 11.2.3).
, print, . print ,
(. 10.3.5).
112
10.2.9
10.
,
, . ,
, .
1. : , ((expression . . . ),
[expression . . . ], {key: value . . . }, expression) .
2. : x.attribute, x[key], x[slice_list], x(arg_list).
3. ** (. 10.2.3).
4. +, - ~.
5. *, /, %.
6. + -.
7. <<, >>.
8. &.
9. ^.
10. |.
11. : <, <=, >, >=, ==, !=, <>, is [not], [not] in.
12. not.
13. and.
14. or.
15. lambda.
16. expr1, ... ( ).
10.3
.
.
10.3.
10.3.1
113
- ( ) , (None) (
).
, None, , repr() . None
.
10.3.2
(lvalue = expression) , ( ) ,
, , . (,
, lvalue):
name = expression
.
x.attribute = expression
. attribute x
, expression.
,
__setattr__().
x[key] = expression
. __setitem__().
x[slice_list] = expression
( slice_list 10.2.2). expression .
__setslice__() ( ) __setitem__()
( ).
lvalue, . . . = expression
(lvalue, . . . ) = expression
[lvalue, . . . ] = expression
, ( , ) . . expression ,
114
10.
, . .
ValueError. :
>>>
>>>
>>>
[0]
>>>
...
...
...
...
...
>>>
>>>
>>>
>>>
2 3
x = range(1)
y, = range(1)
print x, y
0
class c:
def __init__(self, val):
self.val = val
def __repr__(self):
return c(+self.val+)
o = c(1)
l = range(3)
l[1], [(x, y), o.val] = [10, (xrange(2, 4), 5)]
print x, y, l, o
[0, 10, 2] c(5)
= ( ) ,
. , a, b = b, a a b. [0, 2]:
x = [0, 1]
i = 0
i, x[i] = 1, 2
print x
2.0,
:
lvalue
lvalue
lvalue
lvalue
lvalue
lvalue
lvalue
lvalue
lvalue
lvalue
lvalue
+= expression
-= expression
*= expression
/= expression
%= expression
**= expression
&= expression
|= expression
^= expression
>>= expression
<<= expression
10.3.
115
10.3.3
del
del lvalue
( lvalue 10.3.2). ( ) (. 10.5) . . ,
__delattr__(). () -
(-) __delitem__(), __delslice__() (
) __delitem__() (
).
10.3.4
pass ,
, , :
# ,
def do_nothing(arg): pass
#
class record: pass
10.3.5 print
print [expr_list]
expr_list , (
softspace ). , str() (.
12).
, . , , -
116
10.
print.
,
stdout sys. sys.stdout ,
RuntimeError.
2.0, print
. print >>
expr_list None (
sys.stdout). :
print >> sys.stderr, !
print ,
: write()
softspace ( , __getattr__() __setattr__()).
10.3.6
break
break ()
for while, , . ( else ,
). for ( ),
, .
try
finally, finally.
10.3.7 continue
continue ()
for while, , . continue try ( )
except else2 .
.
2
, , .
10.3.
10.3.8
117
return
return [expression] ( ) ( )
expression (None, ) .
try
finally, finally.
10.3.9
global
global identifier_list ,
identifier_list ( )
.
, ( ) ,
global .
- global, .
for,
, import. for, class def , import
, .
global
. , global, exec
, exec. , global
, exec,
exec. eval(), execfile()
compile().
10.3.10
import
import:
import module_list
. module_list
( ,
, ..) ,
- (. ).
118
10.
10.3.
119
(, ),
reload().
,
, sys.path. sys.path , PYTHONPATH
.
, ImportError.
global
. , .
from ... import *
.
import,
__import__(). ,
imp.
10.3.11
exec
120
10.3.12
10.
10.3.13
10.4.
121
raise , (
None ).
. , ,
, .
( None)
.
, None, traceback
(. 11.9.3). ,
, .
10.4
-
.
, ,
, ,
.
if, while for . try .
.
.
.
.
. ,
.
, ( ),
, .
. ,
, , if
else:
if test1: if test2: print x
,
. print
if:
if x < y < z: print x; print y; print z
122
10.
, . , ,
, . , C,
else Python
.
10.4.1
if
if
:
if expr1: suite1
[elif expr2: suite2...]
[else: suite0]
if exprN
elif , ,
( if ).
, suite0
else.
10.4.2
while
while ,
:
while expr: suite1
[else: suite2]
while :
1. expr , , 3.
2. suite1. break
( 3 ),
continue ,
1. suite1, 1.
3. suite2 ( else). break continue
.
10.4.
10.4.3
123
for
for :
for lvalue in sequence: suite1
[else: suite2]
sequence
(, ; , IndexError).
sequence ,
0, lvalue ( item
lvalue ,
lvalue = item; . 10.3.2) suite1.
( IndexError), else, suite2.
break suite1 ( else ). continue
suite1 lvalue sequence
else, .
, lvalue,
, lvalue. , lvalue
. , sequence , lvalue ( , , NameError).
. range() xrange() 12.
, , . . IndexError
. , suite1 ,
. ,
, . , ,
, :
for x in a[:]:
if x < 0: a.remove(x)
124
10.
10.4.4
try
try. ( ,
try except finally),
.
:
try: suite1
except [exc_class1 [, lvalue1]]: suite2
[...]
[else: suite0]
suite1, , suite0 ( else).
suite1 , (
) except , except, . except , , except (
SyntaxError) . exc_classN, ,
. exc_classN , exc_classN
exc_classN.
exc_classN , ,
, (
).
except ,
try ( ) . . exc_classN,
( try ).
except, , (
) (
) lvalueN ( , . 10.3.2), ,
(suiteN)
try ( ). , try try
, .
except
sys.exc_info()
, ( ), (
10.4.
125
) (
) traceback (. 11.9.3). sys.exc_type, sys.exc_value sys.exc_traceback .
,
.
else ,
. except else
, try (
), .
:
try: suite1
finally: suite2
try ( suite1). , finally ( suite2).
suite1 , , finally (
try, ).
suite2 return, break continue
, ( ).
finally , suite1 return break.
continue try (,
, ).
10.4.5
def - (function, .
11.4.1):
def func_name(param_list): suite
param_list ( ; , ,
) ( ,
, ):
param1 [, param2 ...]
.
126
10.
(subparam1 [,
subparam2 ...]) (
).
10.4.
127
128
10.4.6
10.
- (class, . 11.6.1):
class class_name[(base_classes)]: suite
base_classes (. 10.2.8),
-. ,
( ,
) suite (
). suite ( )
( , base_classes) - - class_name
.
,
. , ( ),
(,
__init__()). , (instance.name)
. ,
,
.
10.5
() . .
Python : , .
, , 3 .
:
global, , - ,
; .
global .
3
10.5.
129
( )
:
,
import,
(
),
,
for ( ),
except.
, , , , __builtin__. ( )
__builtins__. , NameError.
. ,
.
( ),
( - ,
, - , -
exec, , )
( ),
,
input()
(
__main__)
130
10.
, , - exec, ,
eval() execfile() (-
,
,
)
131
11
,
: , , . Python
.
; , , (. 10.2.4 10.2.5)
repr() ( : expression) str().
:
__methods__
. ,
.
__members__
. ,
.
__methods__ __members__
.
11.1
132
11.
11.1.1
long C,
2 147 483 647 2 147 483 647. .
, . (0
9), .
(07).
0x 0X (09, az,
AZ). - + , , . ,
, OverflowError.
L l (
L, - l ).
:
7
3L
2147483647
79228162514264337593543950336L
11.1.2
0177
0377L
0x80000000
0x100000000L
( )
double C ( 10 ,
1037 ).
(
) / .
e E,
(+ -) .
:
3.14
10.
.001
1e100
3.14e-10
, float, C. , ( )
11.1.
133
.
C, , 1. -1. c #INF,
#IND #QNAN.
11.1.3
, double C.
j J . :
3.14j
10.j
10j
.001j
1e100j
3.14e-10j
complex() (.
12).
:
real
.
imag
.
conjugate()
, .
:
real,
abs().
11.1.4
, :
x + y
x y.
x - y
x y.
x * y
x y.
134
11.
x / y
x y. ( ),
. : 1/2 -1/-2
0, -1/2 1/-2 -1.
x % y
x y.
-x
x .
+x
x ( ).
x ** y
x y.
, Python
abs(), divmod() pow() (. 12), , math.
11.1.5
Python .
, , ,
. ~ ,
(+ -).
:
x | y
x y.
x ^ y
x y.
x & y
x y.
x << n
x, n , 2**n
. (
ValueError).
x >> n
x, n , () 2**n
.
( ValueError).
~x
x .
11.2.
11.2
135
, .
, , .
136
11.
11.2.1
.
Unicode.
() (") ( )
. , (
). , (\),
, .
,
, .
:
\newline
(newline ).
\\
(\).
().
\"
(").
\a
(BEL).
\b
(backspace, BS).
\f
(formfeed, FF).
\n
(linefeed, LF).
\r
(CR).
\t
(TAB).
\v
(VT).
\ooo
\xhh...
ASCII , ooo.
ASCII , hh....
C, -
11.2.
137
( 8- char
8 ). C,
( ).
.
( ) r R. ,
:
,
( ). , r"\n" ,
n, r"\"" ,
. , :
. , r"\"
.
,
(whitespace), ( ; ), .
, "" . ,
, Unicode (a ub == uab).
:
re.compile("[A-Za-z_]"
#
#
"[A-Za-z0-9_]*" #
#
)
, , + .
% - (string unicode)
. ,
( sprintf() ),
.
,
, .
, % -
138
11.
, 4 .
( %),
, .
: %[. . . ][][.]_5 .
% :
. o,
x X 0, 0x 0X .
f, g G
, .
, g G
. .
. s-
%- .
(
).
(+ -) .
. , ,
().
d, i, o, u, x X ( 1),
e, E f ( 6),
g G ( 6; 0
1), s .
, / , *.
:
>>> import math
>>> R = 1
>>> print " %*.*f" % (
...
5,
#
...
2,
#
...
2*math.pi*R) #
6.28
4
.
(h, l L),
.
5
11.2.
139
- . . ,
.
Python :
d, i
()
.
(abcdef).
.
(ABCDEF).
.
e.
.
E.
. 0,
. , 50.
4
, e-, f. .
4
, E-, f. .
,
repr(). , 1.6.
, str().
%.
140
11.
,
. :
>>> count = 2
>>> language = Python
>>> print %(language)s %(count)03d \
. % vars()
Python 002 .
( , * ).
1.6, ( Unicode)
. ,
string. s , .
center(width)
width, ( ).
. width ,
.
ljust(width)
, ( ). width
, .
rjust(width)
, (
). width
, .
11.2.
141
expandtabs([tabsize])
,
. tabsize 8 .
lstrip()
,
(. isspace()).
replace(old, new [, maxcount])
, old
new. maxcount,
maxcount .
rstrip()
, (. isspace()).
strip()
, (. isspace()).
142
11.
translate(table [, delchars])
, , delchars
, c table[ord(c)].
table 256 . :
unicode (. 11.2.2).
encode([encoding [, errors]])
encoding ( ASCII).
errors () .
strict , UnicodeError (,
ValueError). ignore ( ) replace (
, ?). ( encode() 1.6
Unicode.)
join(seq)
- seq,
s . ,
, ValueError.
split([sep [, maxcount]])
, . sep, None, . maxcount
maxcount >= 0, maxcount (
maxcount-1 ).
splitlines([keepends])
split(),
. ,
keepends.
,
.
locale.setlocale() (. locale). Unicode Unicode,
.
capitalize()
, .
11.2.
143
isdigit()
1, , 0.
islower()
1, ,
,
(), 0.
isspace()
1, (whitespace)
, , . ., 0.
istitle()
1, ( ,
, ,
, ), 06 .
isupper()
1, ,
,
(), 0.
lower()
, .
swapcase()
,
.
title()
, ( ,
, ,
, )6 .
upper()
, .
11.2.2
Unicode
Unicode ( )
u U: uabc, ur"""abc""" ( ruabc).
, Unicode
\uhhhh, , \xhh..., , .
6
. ,
.
144
11.
, \xhh... \uhhhh
Unicode, \ooo 256.
translate unicode
string:
translate(table)
, c,
table ord(c),
unichr(table[ord(c)]) , table[ord(c)] == None. table
.
, Unicode
:
isdecimal()
1, , , 0. ASCII
, ,
( isdigit
Unicode , , . .).
isnumeric()
1, , -, 0. ,
, . .
11.2.3
, . ( ) , . :
a, b, c, (), (d,).
tuple() (. 12). ,
.
11.2.4
xrange
11.2.
145
xrange , , . xrange
.
, , xrange
:
tolist()
, , -
.
11.2.5
buffer
11.2.6
. - (list)
, 7 . :
[a, b, c]. 2.0, [expression iter_list], iter_list ( ) for lvalue
in expression , , if test.
lvalue (. 10.3.2), test .
, ,
(x , s t
3 ):
s[i] = x
, i x.
del s[i]
, i.
7
, , .
, .
146
11.
s[[i]:[j]] = t
i j t (
t).
del s[[i]:[j]]
, (
s[i:j] = []).
,
(x , s , , t 3 ).
, . , ( )
.
append(x)
(
s[len(s):len(s)] = [x]).
extend(t)
t ( s[len(s):len(s)] = x).
count(x)
x (
s, x).
index(x)
i, s[i] == x.
ValueError, , x.
insert(i, x)
x i- (
s[i:i] = [x], i >= 0, ). , , .
pop([i])
i- , .
, .
, . , IndexError.
remove(x)
x (
del s[s.index(x)]). , ValueError.
reverse()
.
11.3.
147
sort([cmpfunc])
.
, ( , cmp()). . , ,
sort() reverse() ,
lambda x, y: cmp(y, x).
11.3
() .
.
(dictionary). , (. 10.2.4), .
( , ), 1 1.0,
.
key: value, , {jack: 4098, sjoerd: 4127}
{4098: jack, 4127: sjoerd}. , ,
, .
(m , k ,
v ):
len(m)
m.
m[k]
, k m.
k, KeyError.
m[k] = v
, k v.
del m[k]
m , k.
k, KeyError.
, (m ,
, n 8 , k , v
):
8
, , .
148
11.
clear()
.
copy()
(. .
, , )
.
has_key(k)
1, k,
0.
items()
(key, value)
keys()
.
update(m)
for k in b.keys(): m[k] = b[k].
values()
, .
get(k [, v])
m[k], k, v (
None).
setdefault(k [, v])
k, m[k],
v, k. v , None.
get(), ,
, ,
.
. , keys() values(), ,
. (value, key), map():
pairs = map(None, m.values(), m.keys()).
11.4
,
(obj(arglist)). , , callable().
11.4. ,
11.4.1
149
func_doc
__doc__
None, .
func_name
__name__
.
func_defaults
None,
.
func_code
(code), - .
func_globals
, ,
(, ).
func_doc ( __doc__), func_defaults func_code , 9 .
11.4.2
- (instance method)
, - .
__dict__, .
( )
( ). , - - ,
. ,
.
9
func_globals , , , . ,
, ,
, .
150
11.
- :
im_func
-, . .
im_self
, (None, ).
.
im_class
, . .
__name__
( , im_func.__name__).
__doc__
( , im_func.__doc__).
, ,
(im_func) : im_class ,
TypeError. ,
im_func , im_self. , C f x
C, x.f(1) C.f(x, 1).
, - ( )
. ,
.
11.4.3
Python
builtin_function_or_method.
. , ,
.
builtin_function_or_method :
__doc__
(None, ).
__name__
/.
11.5.
151
__self__
, None .
11.4.4
-, . __init__ (
) , -. __init__
, - . 11.6.1.
11.4.5
11.5
, - : m.name, m name ,
m ( , ). import (. 10.3.10).
:
__dict__
, . ,
, __dict__ (
m.__dict__[a] = 1, m.a
1, m.__dict__ = {}).
__name__
.
__doc__
.
__file__
, ( ,
, __file__ ).
152
11.
11.6
11.6.1
- (. 10.4.6). ,
__dict__.
, , C.x C.__dict__[x]. ,
. ,
, . function,
- (. 11.4.2). im_class -
, - (
).
, .
- , (.
11.4.4).
- :
__name__
.
__module__
, .
__dict__
. , . __dict__ ,
.
__bases__
.
,
.
__doc__
None, .
11.6.2
- - (. 11.4.4).
- ,
11.6.
153
. ,
(. 11.6.1). , , (. 11.4.2).
, __getattr__().
__getattr__() , AttributeError.
, .
__setattr__() __delattr__(), ,
.
- :
__dict__
. ,
.
__dict__ ,
( Python
, __dict__
).
__class__
-, . ,
.
11.6.3
,
,
.
__init__(self [, args...])
(). args... , -.
__init__(), __init__() ,
, .
__del__(self)
().
__del__(), __del__() , , . ,
( ) ,
. __del__()
154
11.
. , .
:
del x x.__del__(),
x , . ,
__del__(). ,
. , ,
. . , traceback,
sys.exc_info() (. sys). traceback, ,
sys.last_traceback. , , , ,
. None
sys.last_traceback.
, , __del__(), , ,
, sys.stderr . ,
-, (,
), . __del__()
. , , -,
, .
(. gc)
, .
, __del__()
, .
__cmp__(self, other)
( ) , , __cmp__(). : , self < other, ,
self == other, , self > other (.
cmp() 12). __cmp__() ( __rcmp__())
, .
__rcmp__(self, other)
,
11.6.
155
, : , . - .
.
__getattr__(self, name)
, ( ,
, , name). ()
AttributeError.
, __setattr__() __delattr__(),
__getattr__() , .
.
156
11.
__call__(self [, args...])
, x(arg1, arg2, ...) x.__call__(arg1, arg2, ...).
, ,
string, tuple, list dictionary, , . , ()
k, 0 <= k < N, N . 10 . ,
, , ( slice ellipsis) (
slice ellipsis) (. 11.8.3).
,
keys(), values(), items(), has_key(), get(), clear(), copy(),
update(), , dictionary (.
11.3); ,
list: append(), count(), index(), insert(), pop(), remove(),
reverse() sort() (. 11.2.6). , , __add__(),
__radd__(), __iadd__(), __mul__(), __rmul__() __imul__(),
( ) ( ), 11.6.3.
, 10
dictionary :
- (. hash() 12).
11.6.
157
__len__(self)
len().
, . ,
__nonzero__(),
, __len__().
__getitem__(self, key)
(self[key]). ( ) __getitem__().
key , TypeError.
, ,
( ),
IndexError ( ). key, KeyError.
__setitem__(self, key, value)
(self[key] = value). ,
, ,
, , . , ,
( ), IndexError.
__delitem__(self, key)
(del self[key]).
, .
, __getitem__.
2.0, , , ( __getslice__()).
i j sys.maxint . , . __len__() , AttributeError. , ,
. , , . ,
.
158
11.
__getslice__(self, i, j)
(self[i:j]).
__setslice__(self, i, j, sequence)
, (self[i:j] = sequence).
__delslice__(self, i, j)
(del self[i:j]).
, , __getitem__(), __setitem__() __delitem__().
slice, Ellipsis
(. 11.8.3). , ,
2.0, __getslice__(),
__setslice__() __delslice__():
method__getitem__(), __setitem__() __delitem__().
, () (, method__getitem__(), __setitem__() __delitem__() , , ):
class MyClass:
...
def __getitem__(self, item):
...
def __setitem__(self, item, value):
...
def __delitem__(self, item):
...
if sys.hexversion<0x020000F0:
# ,
# 2.0 ()
def __getslice__(self, i, j):
return self[max(0, i):max(0, j):]
def __setslice__(self, i, j, seq):
self[max(0, i):max(0, j):] = seq
def __delslice__(self, i, j):
del self[max(0, i):max(0, j):]
...
max().
__*item__() ,
__*slice__() . __*item__(). max(0, i) , .
11.6.
159
in .
. 1.6 :
__contains__(self, item)
in not in (item in self,
item not in self). 1.6, __contains__
, . in not in 0 1, __contains__ (. 10.2.5).
, . ,
, __len__()
__getattr__() (. 11.6.3).
__repr__(self)
repr() (expr) ( str() print,
__str__() )
.
Python, . ,
,
, < > ( ,
__repr__()).
__str__(self)
str(), print s ,
.
__oct__(self)
__hex__(self)
oct() hex() .
.
160
11.
__complex__(self)
__int__(self)
__long__(self)
__float__(self)
complex(), int(), long(),
float(), ,
s. .
, ,
.
__neg__(self)
__pos__(self)
__invert__(self)
__abs__(self)
-, +, ~
abs().
, x op y,
(__op__() __rop__() , op, , __add__()
__radd__() +):
1. x op (%), .
2. x :
(a) x __coerce__(), x y , x.__coerce__(y);
__coerce__() None, 3.
(b) x, y ,
4.
(c) x __op__, x.__op__(y),
x y,
2a.
11.6.
161
3. y :
(a) y __coerce__(), x y , x.__coerce__(y);
__coerce__() None, 4.
(b) x, y ,
4.
(c) y __rop__, y.__rop__(x),
x y,
3a.
4. (a) x op + *, .
(b) .
,
.
__coerce__(self, other)
11 . , self other, , None,
. ,
(other), None, __coerce__ (,
, ,
).
__add__(self, other)
__sub__(self, other)
__mul__(self, other)
__div__(self, other)
__mod__(self, other)
__divmod__(self, other)
__pow__(self, other [, modulo])
__lshift__(self, other)
__rshift__(self, other)
__and__(self, other)
__xor__(self, other)
__or__(self, other)
( ) +, -, *,
/, %, divmod(), ** pow(),
<<, >>, &, ^ | . ,
x+y, x , __add__,
11
, .
162
11.
x.__add__(y). , , pow() , __pow__()
.
__radd__(self, other)
__rsub__(self, other)
__rmul__(self, other)
__rdiv__(self, other)
__rmod__(self, other)
__rdivmod__(self, other)
__rpow__(self, other)
__rlshift__(self, other)
__rrshift__(self, other)
__rand__(self, other)
__rxor__(self, other)
__ror__(self, other)
( ) ,
( r). ,
x-y, y ,
__rsub__, y.__rsub__(x). ,
pow(), ,
__rpow__() ( ).
__iadd__(self, other)
__isub__(self, other)
__imul__(self, other)
__idiv__(self, other)
__imod__(self, other)
__ipow__(self, other)
__ilshift__(self, other)
__irshift__(self, other)
__iand__(self, other)
__ixor__(self, other)
__ior__(self, other)
(
) +=, -=, *=, /=, %=, **= <<=, >>=, &=, ^= |= . , , . , x op= y
x = x op y.
11.7.
11.7
163
close()
. - ValueError. close()
.
flush()
.
isatty()
, tty,
0 (). , ,
, .
fileno()
( ), /.
, (,
os fcntl). ,
, ,
.
read([size])
size (,
, size ). size , . . (, tty)
.
readline([size])
,
164
11.
12 ( ). size, size (
). .
readlines([sizehint])
. sizehint, ( )
sizehint (sizehint ,
). ,
, sizehint.
seek(offset [, whence])
. whence : 0 ( ) , 1
2 .
tell()
.
truncate([size])
(size) .
. .
write(s)
s . , -
,
flush() close().
writelines(slist)
slist . writelines()
. 1.6, slist
, list.
:
closed
: , , .
,
close(). , .
mode
/.
open(), mode.
. , .
12
, ,
.
11.8.
165
name
open(),
. , , , <>.
.
softspace
,
print () ().
softspace, . ,
Python, .
11.8
11.8.1
None ,
, None. None
(,
). None .
11.8.2
(type) .
( )
type(). types
.
, :
__doc__
, , None.
__name__
. :
, .
(,
print)
<type >.
166
11.
11.8.3
ellipsis ,
, Ellipsis. Ellipsis (...)
. Ellipsis .
slice , , (obj[i:j:s]),
(obj[i:j, k:l], obj[..., i:j]). , slice,
slice().
, (
None,
start:stop:step ):
start
.
stop
.
step
.
range(start,
stop, step).
11.9
11.9.1
(code) - , . - , - , , ,
- , . ,
11.9.
167
-, . -, -,
( ) .
- compile(), - func_code. -
exec eval().
, :
co_name
( ?, -
compile()).
co_argcount
( ,
).
co_nlocals
( ).
co_varnames
, .
co_code
, - .
co_consts
, .
co_names
- .
co_filename
, - .
co_firstlineno
.
co_lnotab
, - ( , ).
co_stacksize
( ).
co_flags
, . co_flags ( ): 0x04 ,
168
11.
*args ( ); 0x08 , **kwds ( ).
, co_consts
( None, ).
11.9.2
frame , , . tb_frame
traceback (. 11.9.3). frame
( f_trace, f_exc_type, f_exc_value f_exc_traceback , ):
f_back
( ,
func, ,
func) None,
( , ,
).
f_code
(. 11.9.1),
.
f_locals
, .
f_globals
, .
f_builtins
, .
f_restricted
, , .
f_lineno
.
f_lasti
( -
code).
11.9.
169
f_trace
, ,
None ( ).
f_exc_type
f_exc_value
f_exc_traceback
.
11.9.3
traceback
traceback ,
. , . traceback , sys.exc_info() (. sys).
, ,
traceback, .
traceback
sys.last_traceback.
traceback , :
tb_next
traceback,
, , None,
.
tb_frame
, .
tb_lineno
( ), .
tb_lasti
( ) -, (
- code).
tb_lineno tb_lasti traceback f_lineno f_lasti frame,
try except
finally.
170
12
, , ,
. .
__import__(name [, globals [, locals [fromlist]]])
import.
, __import__() ,
import. , ihooks rexec.
imp, , __import__.
,
import
spam
171
mod = __import__(name)
components = string.split(name, .)
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
abs(x)
. x*x.conjugate(). abs()
__abs__() (. 11.6.3).
apply(object, args [, keywords])
object , (.
11.4) args ( args
, ).
keywords , .
object args
keywords. 1.6,
, : object(*args,
**keywords).
buffer(object [, offset[, size]])
buffer, object (.
11.2.5). object , (string, unicode, array, buffer). buffer
offset ( , offset ) size (
object, size ).
callable(object)
, object ,
(. 11.4).
chr(i)
, , i. , chr(97) a. i
0 255 , i , ValueError.
ord(). . unichr().
cmp(x, y)
x y : , x < y,
, x == y, , x > y.
coerce(x, y)
x y ,
,
. ,
__coerce__() .
172
12.
, a b __divmod__
__rdivmod__ .
173
Python, globals locals . locals,
globals. ,
, eval().
. :
>>> x = 1
>>> eval(x+1)
2
-
compile() ( kind eval)
. expression .
. exec ( 10.3) execfile(),
globals() locals().
execfile(file [, globals [, locals]])
exec,
. import ,
- , (
) - -.
file , Python ( ),
globals locals . locals, globals.
, ,
execfile().
filter(function, list)
list, function ( , ,
None) . list (string) ,
. list. function None,
list, .
float(x)
( ) . , , , ,
(whitespace). , ,
-, C.
,
__float__.
getattr(object, name [, default])
name object. object
174
12.
name (), default ( )
AttributeError.
globals()
, ( ,
, , ).
hasattr(object, name)
1, object name (),
0. :
, ()
, , .
hash(object)
- object. -, TypeError. - . (
, , 1 1.0) -.
hex(x)
(int
long int) .
Python ( L). ,
, , 32- hex(1) 0xffffffff.
, -1.
OverflowError.
id(object)
object ( int
long int).
. , , . .
input([prompt])
eval(raw_input(prompt)) ( ,
).
int(x [, radix])
( , ) x
(int). x ,
, , ,
(whitespace). , 1.6, radix ( , string.atoi) 2 36 2 0.
2
10 26 .
175
radix , (8, 10 16) ,
. radix, x , TypeError.
C.
3 .
intern(string)
string (
) -
, .
, ( ).
, Python, , , .
, , .
isinstance(object, class)
1, object ( ) class class, 0. ,
issubclass(object.__class__, class), , type(object) is class. class -
-, TypeError.
issubclass(class1, class2)
1, class1 ( )
class2. , . - -,
TypeError.
len(object)
( ) . , ,
__len__().
list(sequence)
, sequence.
. sequence
, ( sequence[:]). , list(abc) [a, b, c], list((1, 2, 3))
[1, 2, 3].
locals()
, .
,
, .
3
176
12.
long(x [, radix])
( , ) x (long int). x ,
( l L), , , (whitespace).
, 1.6,
radix ( , string.atol) 2 36 0. radix
, (8, 10 16)
, . radix, x ,
TypeError. C. . .
int().
map(function, seq ...)
function ( , ,
None) seq
. map() . function
.
, None. function None, , ( )
( ). ,
list.
max(seq)
max(v1, v2 ...)
seq, . , ValueError.
, .
min(seq)
min(v1, v2 ...)
seq, . , ValueError.
, .
oct()
(int long int) . Python (
L). , , , 32- oct(-1)
037777777777. . hex().
open(filename [, mode [, bufsize]])
(.
177
11.7). filename , mode , ,
. : r ( ), w ( , ,
), a (
, ;
; seek() ), r+, w+ a+ ( r+
, w+
). b ,
. ,
. ( ,
). , IOError.
mode , r.
bufsize : 0
, 1 , () . bufsize
, 4 : tty
.
ord(c)
. c (string
unicode), . , ord(a) 97,
ord(u\u2020) 8224. chr() unichr()
Unicode.
pow(x, y [, z])
x y ( x ** y).
, ,
pow(x, y) % z, . ,
. .
, . , pow(2, -1)
ValueError, pow(2, 35000) OverflowError.
range([start,] stop [, step])
start
(; 0) stop ( stop) step ( 1; , start ). (int),
4
, C setvbuf(), ,
bufsize, .
178
12.
step , ValueError. step ,
start + i * step, , stop (i
). step ,
start + i * step, stop.
:
>>>
[0,
>>>
[1,
>>>
[0,
>>>
[0,
>>>
[0,
>>>
[]
>>>
[]
range(10)
1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11)
2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5)
5, 10, 15, 20, 25]
range(0, 10, 3)
3, 6, 9]
range(0, -10, -1)
-1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)
range(1, 0)
raw_input([prompt])
prompt, ( , , str() print)
( print,
).
(
). ,
EOFError. :
>>> s = raw_input(--> )
--> Monty Pythons Flying Circus
>>> s
"Monty Pythons Flying Circus"
readline, raw_input() ,
( , Windows NT, ).
reduce(function, sequence [, initializer])
function (,
) sequence, . . , reduce(operator.__add__, [1, 2, 3, 4, 5])
((((1+2)+3)+4)+5). initializer,
.
(initializer, ,
179
sequence) 1, ( ) ,
0 ( initializer
), TypeError.
reload(module)
.
module -, . - ( , module).
( ) .
,
, import , (
) - sys.modules. , ,
import ( , -) reload().
, . ,
. -
, . , :
try , ,
.
( sys, __main__ __builtin__), . , ,
, .
, from ...
import ..., from ...
import ....
, ,
,
. .
repr(object)
, object. , object
(object). repr() ,
eval(). .
str().
round(x [, n])
, x n . n .
180
12.
x , 10n . , ( round(0.5) 1.0
round(-0.5) -1.0).
181
UnicodeError, ignore (),
replace (REPLACEMENT CHARACTER, u\uFFFD).
vars([object])
,
. , ,
( , __dict__),
, . : 5 .
xrange([start,] stop [, step])
range(),
xrange (. 11.2.4) .
, (
range() ), .
xrange() range()
.
zip(seq1 ...)
, i- , i- seq1, ..., seqN . ,
, TypeError.
seq1, ..., seqN. , zip
map None . ,
2.0.
, . .
182
13
Python .
. exceptions.
( ).
except try - C, , C . ,
except ValueError: UnicodeError1 , except
UnicodeError: ValueError. , ( ) ,
, (
, __name__ ).
, .
( ,
), . Exception,
, , args.
, ,
( ), .
.
Exception
. . args
1
183
, . str(),
Exception, (
), ( ) ( ). , ( )
, (exc[i]).
StandardError
, ( ,
).
ArithmeticError
, .
FloatingPointError
,
(
Python --with-fpectl
config.h WANT_SIGFPE_HANDLER).
OverflowError
,
, . ,
(long int) MemoryError. - , C ,
. (int),
, , ,
,
.
ZeroDivisionError
,
.
AssertionError
, ,
assert.
AttributeError
, , . ( ,
), TypeError.
EOFError
(input(), raw_input()), ,
, . ,
184
13.
read() readline()
.
EnvironmentError
, ,
Python.
2 3 ,
, , , () , . ( args) errno, strerror
filename ( str()) [Errno errno] strerror [Errno errno]
strerror: filename.
IOError
/, ,
.
OSError
( os.error) os.
WindowsError
, Windows errno.
errno strerror , Windows API GetLastError()
FormatMessage() . 1.6.
ImportError
, import
, from ... import ....
KeyboardInterrupt
, SIGINT, ,
( Ctrl-C), KeyboardInterrupt.
SIGINT, signal.signal(). , input()
raw_input(), read(), readline() readlines()
, tty,
KeyboardInterrupt2 .
LookupError
, , .
sys.setdefaultencoding().
185
IndexError
, ,
, . ,
, .
,
TypeError.
KeyError
, . .
MemoryError
, ,
, . ,
() , .
,
( malloc() C)
. MemoryError (
)
.
NameError
,
. .
UnboundLocalError
,
( global),
. 1.6.
RuntimeError
,
. .
.
NotImplementedError
- ,
,
.
SyntaxError
.
import exec, eval() input(),
(
186
13.
).
: filename
lineno ,
text , , offset ,
, msg
. SyntaxError(msg, (filename, lineno, offset, text)).
str(), , ( msg).
SystemError
. ,
( ). .
TypeError
, - . , .
ValueError
, - , , (, IndexError).
UnicodeError
Unicode . 1.6.
SystemExit
sys.exit(). , . ,
exit() C. ,
None, 0. ,
. ,
code. SystemExit Exception, StandardError,
SystemExit .
sys.exit() , ( finally try)
. (, os.fork() ),
os._exit().
III
189
Python
. C , Python .
, Python (,
) (,
), , (, WWW).
, , . , .
190
14
14.1
site
( , -S)
, , ,
. sys.prefix + /lib/site-packages sys.prefix + /site-python
(UNIX) sys.prefix ( ). , package.pth . (
), sys.path. ,
#, .
,
14.2. user
191
,
sitecustomize,
. ImportError, .
14.2
user
. ,
PYTHONSTARTUP.
. , , import
user.
user .pythonrc.py
execfile()
( user) . ,
.pythonrc.py user .
, .pythonrc.py .
, .pythonrc.py.
, ,
.
, :
.pythonrc.py. , spam , , :
import user
try:
# ,
verbose = user.spam_verbose
except AttributeError:
#
verbose = 0
, ,
. ,
, ,
user.
192
15
, ,
Python .
sys
atexit
types
operator
Python .
traceback
traceback.
imp
, import.
pprint
repr
repr() .
15.1
sys
,
, , . sys .
argv
, Python.
argv[0] ( ,
). , argv[0] -c.
( ) argv[0] -
, - .
byteorder
, :
big (big-endian) little (little-endian). ,
2.0.
15.1. sys
193
builtin_module_names
, .
(modules.keys()
).
copyright
, Python.
dllhandle (Windows)
, DLL Python.
exc_info()
, , ( ).
except ( ) try (. 10.4.4).
,
None. , (type,
value, traceback), type ( ), value
( ) ()
traceback traceback (. 11.9.3), .
: traceback , ,
. , , (. gc).
traceback ,
type, value = sys.exc_info()[:2]
. traceback, , ( finally try)
exc_info() , except.
exc_type
exc_value
exc_traceback
exc_info(). , , .
, . , exc_type None
exc_value exc_traceback .
exec_prefix
, Python ( / ). , UNIX
sys.exec_prefix + /lib/python + sys.version[:3] + /config.
194
15.
executable
() Python,
.
exit([exit_code])
.
SystemExit, ( finally try)
. ( 0, ;
, 0 127), , .
None 0,
( ,
str()) 1.
sys.exit( ) .
exitfunc
, -, ( ) . exitfunc() ,
,
os._exit(). exitfunc (
) atexit, .
getdefaultencoding()
,
Unicode . ,
2.0.
getrefcount(object)
object. ,
, , ,
getrefcount().
getrecursionlimit()
Python. .
setrecursionlimit(). , 2.0.
hexversion
. ,
, . ,
, , , 1.5.2 (
), :
15.1. sys
195
196
15.
platform
, , , sunos5, linux1
win32. , ,
path.
prefix
, Python ( / ). ,
UNIX
sys.prefix + /lib/python + sys.version[:3], (, config.h)
sys.prefix + /include/python + sys.version[:3].
ps1
ps2
, , , . ,
. >>> ... .
, , str().
.
setcheckinterval(interval)
, () , ,
. interval ( 10), - . ,
, . ,
-, .
setdefaultencoding(encoding)
, Unicode . encoding
, LookupError.
site ( sitecustomize),
sys. , 2.0.
setprofile(profilefunc)
, (profiling) (. 25.2).
profilefunc (. settrace()), ,
.
15.1. sys
197
setrecursionlimit(limit)
Python. . .
, . ,
. , 2.0.
settrace(tracefunc)
,
. Python (. 25.1).
stdin
stdout
stderr
, , . stdin ,
input() raw_input(). stdout
print, - input() raw_input().
( ) stderr.
Python stdout stderr
( ), write(). input() raw_input() , stderr
readline(). ,
/ (,
os.popen() os.system()) .
__stdin__
__stdout__
__stderr__
stdin, stderr stdout
.
tracebacklimit
,
, traceback,
() .
1000 .
.
version
, , Python , , version
(#build_number, build_date, build_time) [compiler].
198
15.
,
. version
: Python +sys.version+
on +platform.
version_info
, : (major, minor,
micro, releaselevel, serial). , releaselevel . releaselevel :
alpha, beta, candidate final. version_info, Python 2.0, (2, 0, 0, final, 0).
, 1.6.
winver (Windows)
, Windows ( version).
,
.
15.2
gc
(garbage
collector, GC): , , , 1 ,
, , , . , Python,
, , . gc.disable().
, gc.set_debug(gc.DEBUG_LEAK).
gc :
enable()
.
disable()
.
isenabled()
1, , 0.
1
( ) ,
.
.
15.2. gc
199
collect()
. ,
, garbage.
set_debug(flags)
.
. (. ) .
set_debug(0).
get_debug()
, .
set_threshold(threshold0 [, threshold1 [, threshold2]])
() . threshold0 .
,
. , 0. ,
1, 2. 2 ,
. , ,
, .
threshold0, .
. 0 threshold1
1, 1.
threshold2 1, 2.
get_threshold()
(threshold0, threshold1, threshold2).
:
garbage
, ,
. , __del__()
, . DEBUG_SAVEALL,
(
).
:
200
15.
DEBUG_STATS
. .
DEBUG_COLLECTABLE
, .
DEBUG_UNCOLLECTABLE
,
. garbage.
DEBUG_INSTANCES
DEBUG_COLLECTABLE DEBUG_UNCOLLECTABLE, .
DEBUG_OBJECTS
DEBUG_COLLECTABLE DEBUG_UNCOLLECTABLE, , .
DEBUG_SAVEALL
garbage, , .
DEBUG_LEAK
, , (DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | DEBUG_INSTANCES |
DEBUG_OBJECTS | DEBUG_SAVEALL).
15.3
atexit
, 2.0.
atexit , .
. , , , os._exit().
, sys.exitfunc. , , sys.exitfunc . , Python atexit
. , , sys.exitfunc
.
15.4. types
201
register(func ...)
func ,
. ( )
func.
(
, sys.exit() ), ,
. , , ,
.
,
.
try:
_count = int(open("/tmp/counter").read())
except IOError:
_count = 0
def incrcounter(n):
global _count
_count = _count + n
def savecounter():
open("/tmp/counter", "w").write("%d" % _count)
import atexit
atexit.register(savecounter)
. readline, atexit .
15.4
types
202
15.
15.4. types
203
DictType
DictionaryType
, dictionary (, , {: Python, : 2.0}).
FunctionType
LambdaType
, function (, ). , def lambda.
CodeType
, code ( , ,
compile()).
ClassType
, class (). - class.
InstanceType
, instance ( ).
-.
MethodType
UnboundMethodType
, method (,
).
BuiltinFunctionType
BuiltinMethodType
builtin_function_or_method ( , ,
abs()).
ModuleType
, module ().
FileType
, file ( , ,
open()).
SliceType
, slice (). slice().
EllipsisType
, ellipsis.
Ellipsis (),
.
204
15.
TracebackType
, traceback.
.
FrameType
, frame ( ). , .
15.5
operator
operator , C, Python. , , .
, operator.add(x, y) x + y .
__ .
:
add(x, y)
__add__(x, y)
x + y.
sub(x, y)
__sub__(x, y)
x - y.
mul(x, y)
__mul__(x, y)
x * y.
div(x, y)
__div__(x, y)
x / y.
mod(x, y)
__mod__(x, y)
x % y.
neg(x)
__neg__(x)
-x.
pos(x, y)
__pos__(x, y)
+x.
15.5. operator
205
abs(x)
__abs__(x)
x (. abs()).
inv(x)
__inv__(x)
invert(x)
__invert__(x)
~x. invert() __invert__() 2.0.
lshift(x, y)
__lshift__(x, y)
x << y.
and_(x, y)
__and__(x, y)
x & y.
or_(x, y)
__or__(x, y)
x | y.
xor(x, y)
__xor__(x, y)
x ^ y.
not_(x)
__not__(x)
not x.
truth(x)
1, x , 0.
concat(seq1, seq2)
__concat__(seq1, seq2)
seq1 + seq2, seq1 seq2
.
repeat(seq, n)
__repeat__(seq, n)
seq * n, seq
, n .
contains(x, y)
__contains__(x, y)
sequenceIncludes(x, y)
y in x. . __contains__() ,
206
15.
2.0, sequenceIncludes() .
countOf(x, y)
y x.
count() -,
y x.
indexOf(x, y)
x, y. index() -,
y x. x
y, ValueError.
getitem(x, y)
__getitem__(x, y)
x[y].
setitem(x, y, z)
__setitem__(x, y, z)
x[y] = z.
delitem(x, y)
__delitem__(x, y)
del x[y].
getslice(x, y, z)
__getslice__(x, y, z)
x[y:z].
setslice(x, y, z, v)
__setslice__(x, y, z, v)
x[y:z] = v.
delslice(x, y, z)
__delslice__(x, y, z)
del x[y:z].
isCallable(obj)
1, obj , 0.
callable().
isMappingType(obj)
1, obj , () , 0.
, ,
.
15.5. operator
207
isNumberType(obj)
1, obj ,
() ,
0. ,
, .
isSequenceType(obj)
1, obj ,
() , 0. ,
, .
map() reduce(). , seq
reduce(operator.add, seq).
, operator.
a ( not not a)
not a
-a
a + b
a - b
a * b
a / b
a % b
~a
a & b
a ^ b
a | b
a << b
a >> b
seq1 + seq2
seq * i
o in seq
o[k]
o[k] = v
del o[k]
seq[i:j]
seq[i:j] = values
del seq[i:j]
truth(a)
not_(a)
neg(a)
add(a, b)
sub(a, b)
mul(a, b)
div(a, b)
mod(a, b)
invert(a)
and_(a, b)
xor(a, b)
or_(a, b)
lshift(a, b)
rshift(a, b)
concat(seq1, seq2)
repeat(seq, i)
contains(seq, o)
getitem(o, k)
setitem(o, k, v)
delitem(o, k)
getslice(seq, i, j)
setslice(seq, i, j, values)
delslice(seq, i, j)
208
15.
15.6
traceback
traceback
, , traceback (. 11.9.3).
.
traceback :
print_tb(traceback [, limit [, file]])
limit traceback,
, ,
( traceback).
limit None,
sys.tracebacklimit (10000, sys.tracebacklimit ) traceback. file ( write()) ,
file .
print_exception(type, value, traceback [, limit [, file]])
print_tb(),
traceback :
traceback None, Traceback
(most recent call last):.
(type value;
, ).
type is SyntaxError value , , ^,
.
.
print_exc([limit [, file]])
print_exception(*(sys.exc_info()
+ (limit, file))).
print_last([limit [, file]])
print_exception(sys.last_type,
sys.last_value, sys.last_traceback, limit, file).
209
210
15.
. (, writelines ) , print_exception().
format_tb(traceback [, limit])
format_list(extract_tb(traceback,
limit)).
format_stack(frame [, limit])
format_list(extract_stack(frame,
limit)).
tb_lineno(traceback)
, traceback.
traceback.tb_lineno.
tb_lineno , tb_lineno() .
, :
import sys, traceback
def run_user_code(envdir):
source = raw_input(">>> ")
try:
exec source in envdir
except:
print " :"
print -*60
traceback.print_exc(file=sys.stdout)
print -*60
envdir = {}
while 1:
run_user_code(envdir)
, code.
: traceback
linecache, ,
- . , - (, )
, . ,
linecache.clearcache().
15.7. imp , . . .
15.7
211
imp , import
, import. :
get_magic()
, , .
.
get_suffixes()
, (suffix, mode,
type) : suffix ,
; mode ,
open() ,
(r rb ); type ,
PY_SOURCE, PY_COMPILED C_EXTENSION (. ).
find_module(name [, path])
name path.
, get_suffixes(),
path. , . path
None, (C_BUILTIN)
(PY_FROZEN) , (PY_RESOURCE) Macintosh , Windows,
, sys.path.
(file, pathname,
description), file , , , , pathname description
get_suffixes(), .
, file None, pathname ,
description ( ). , ImportError.
.
. , P.M , M P, P, find_module() path, P.__path__.
load_module(name, file, filename, description)
. ,
load_module() reload().
name ( ).
212
15.
file filename , , (None , ).
description , . , , find_module().
, -.
( ImportError). , file ( None) ,
. finally
try.
new_module(name)
- name. sys.modules.
, :
PY_SOURCE
Python.
PY_COMPILED
- .
C_EXTENSION
.
PY_RESOURCE
Macintosh.
PKG_DIRECTORY
.
C_BUILTIN
.
PY_FROZEN
( Python, ).
.
knee (
)
rexec.
15.8
pprint
15.8. pprint . . .
213
Python. repr(),
eval(). , .
:
PrettyPrinter([keyword_list])
>>>
>>> import parser
>>> suite = parser.suite(open(pprint.py).read())
>>> tup = parser.ast2tuple(suite)[1][1][1]
>>> pp = pprint.PrettyPrinter(depth=6)
>>> pp.pprint(tup)
(266, (267, (307, (287, (288, (...))))))
, :
214
15.
pformat(object)
.
pprint(object [, stream])
object ( ) stream. stream ,
sys.stdout.
.
>>> stuff = sys.path[:]
>>> stuff.insert(0, stuff)
>>> pprint.pprint(stuff)
[<Recursion on list with id=869440>,
,
/usr/local/lib/python1.5,
/usr/local/lib/python1.5/test,
/usr/local/lib/python1.5/sunos5,
/usr/local/lib/python1.5/sharedmodules,
/usr/local/lib/python1.5/tkinter]
isreadable(object)
1, object
eval(), 0. 0 .
>>> pprint.isreadable(stuff)
0
isrecursive(object)
1, , 0.
saferepr(object)
object
, <Recursion on type with id=id>,
type id .
PrettyPrinter ,
, :
pformat(object)
object.
pprint(object)
object ( ) , .
isreadable(object)
1, object
215
eval(), 0. 0
, .
isrecursive(object)
1, , 0.
15.9
repr repr()
repr(), . , , Python.
:
Repr()
, , , repr().
.
aRepr
Repr. repr(), . , repr() , , .
repr(object)
repr() aRepr. , repr(), .
Repr ,
, , :
maxlevel
, .
6.
maxdict
maxlist
maxtuple
, , .
.
216
15.
maxlong
.
. 40.
maxstring
. ,
. ,
. 30.
maxother
,
20.
repr(object)
,
repr(), .
repr1(object, level)
repr().
object , , .
repr_typename(object, level)
, . , , repr_. ,
, repr1() repr1()
level, .
, Repr,
. ,
:
import repr
import sys
class MyRepr(repr.Repr):
def repr_file(self, obj, level):
if obj.name in [<stdin>,
<stdout>,
<stderr>]:
return obj.name
else:
return obj
aRepr = MyRepr()
print aRepr.repr(sys.stdin)
# <stdin>
217
16
, , .
string
re
StringIO
cStringIO
StringIO.
codecs
16.1
string
string , , .
(. locale).
digits
(0123456789).
hexdigits
,
(0123456789abcdefABCDEF).
letters
lowercase uppercase, .
lowercase
, ( ).
octdigits
, (01234567).
punctuation
, .
218
16.
printable
, .
digits, letters, punctuation whitespace.
uppercase
, ( ).
whitespace
,
\t\n\v\f\r
(whitespace).
:
maketrans(from, to)
, translate()
, from ,
to. from to
. ,
lowercase uppercase .
zfill(s, width)
s, , ,
width. , ,
.
, ,
. 1.6, ,
,
Unicode .
atof(s)
float(s).
atoi(s [, base])
int(s, base).
atol(s [, base])
long(s, base).
capitalize(word)
word.capitalize().
capwords(s [, sep])
, sep,
(
sep) . ,
,
16.1. string
219
. title() ,
.
expandtabs(s [, tabsize])
s.expandtabs(tabsize).
find(s, sub [, start [, end]])
s.find(sub, start, end).
rfind(s, sub [, start [, end]])
s.rfind(sub, start, end).
index(s, sub [, start [, end]])
s.index(sub, start, end).
rindex(s, sub [, start [, end]])
s.rindex(sub, start, end).
count(s, sub [, start [, end]])
s.count(sub, start, end).
lower(s)
s.lower().
split(s [, sep [, maxsplit]])
splitfields(s [, sep [, maxsplit]])
s.split(sep, maxsplit).
join(words [, sep])
joinfields(words [, sep])
sep.join(words).
lstrip(s)
s.lstrip().
rstrip(s)
s.rstrip().
strip(s)
s.strip().
swapcase(s)
s.swapcase().
translate(s, table [, deletechars])
s.translate(table, deletechars), .
upper(s)
s.upper().
220
16.
ljust(s, width)
s.ljust(width).
rjust(s, width)
s.rjust(width).
center(s, width)
s.center(width).
replace(s, old, new [, maxsplit])
s.replace(old, new, maxsplit).
16.2
re
, ,
Perl. ( Unicode)
, NUL.
(\) ,
Python. , ,
, \\\\,
\\
\\. (.
11.2.1).
16.2.1
(regular expression) , , . , re
,
(, , ).
. a A b B, a + b A + B. , ,
.
,
. , A, a
0, ,
. , list
list.
16.2. re
221
, (atom , , ; expr ):
. ()
,
(\n).
DOTALL, ,
.
^ ( )
.
MULTILINE,
.
.
MULTILINE,
.
atom*
(0
) ,
atom. , ab*
a, ab, abb . .
atom+
(1
) ,
atom. , ab+
ab, abb . ., a.
atom?
(0
1) , atom.
, ab? a
ab.
{m,[n]}
(
m n) , atom. , a{3,5}
aaa, aaaa aaaaa. n ,
.
atom*?
(0
) ,
atom. , <.*> <H1>title</H1>,
<.*?> <H1>.
atom+?
(1
) ,
atom.
atom??
(0
1) , atom.
222
16.
{m,[n]}?
(
m n) ,
atom.
[chars]
. chars ,
( ). ( ,
) . , [ab?] a, b ?, [a-z]
, [azA-Z0-9] .
] ,
: []], r[]\-]. ^ , ,
.
[^chars]
,
[chars].
expr1|expr2
,
expr1 expr2, expr1 expr2
. . , .
(expr)
expr .
, , ,
r\number, .
(?options)
, . options
i, L, m, s, u, t x, IGNORECASE, LOCALE, MULTILINE, DOTALL, UNICODE,
TEMPLATE VERBOSE. , ,
compile().
(?:expr)
(expr) expr , .
16.2. re
223
(?P<name>expr)
(expr) , ,
,
expr, name, .
Python. , , r\number.
(?P=name)
, , name.
(?#comment)
, .
(?=expr)
,
, expr. , (?=) .
(?!expr)
,
, expr. , (?!) , .
(?<=expr)
, , expr. , (?<=abc)def
def abcdef. expr
. ,
abc a|b, a*.
,
2.0.
(?<!expr)
,
, expr.
expr . , abc
a|b, a*. , 2.0.
\number
number.
1. , r(.+) \1
the the 55 55, the end. 99. number 0, number
([chars]),
number.
224
16.
\A
\b
1 . ,
.
([chars]) r\b
Python
(BS).
\B
\d
, [0-9]. LOCALE
UNICODE ,
Unicode .
\D
\s
\S
, (whitespace),
r[^\t\n\v\f\r ]. LOCALE
UNICODE ,
Unicode
.
\w
, , .
LOCALE, [a-zA-Z0-9_].
LOCALE UNICODE ,
Unicode
.
\W
,
r\w, r^\w.
\Z
( LOCALE), C.
16.2. re
\char
16.2.2
225
char, char , , , -
.
re : (match) (search).
Perl, , (.
search() , ).
,
:
>>>
>>>
>>>
0
>>>
1
import re
from operator import truth
truth(re.match(a, ba))
truth(re.search(a, ba))
^ ( MULTILINE)
(\n), ^
:
>>>
>>>
>>>
>>>
0
>>>
1
import re
from operator import truth
re_obj = re.compile(.*^a, re.M)
truth(re_obj.match(\na))
truth(re_obj.search(\na))
16.2.3
compile(pattern [, flags])
pattern .
flags. flags |.
226
16.
prog = re.compile(pat)
result = prog.match(str)
result = re.match(pat, str)
compile() ,
.
IGNORECASE
I
,
. LOCALE
1.5.2 , (
ASCII) .
LOCALE
L
r\w, r\W, r\b r\B (
, ).
MULTILINE
M
, ^ ( ) $ ( ,
) ,
\n .
DOTALL
S
. .
. , \n.
VERBOSE
X
:
(whitespace) - ,
.
#, , #
(r\#), .
TEMPLATE
T
:
. (
); , 1.6.
16.2. re
227
UNICODE
U
r\w, r\W, r\b r\B ( Unicode). , 1.6.
pattern
, , .
,
(?flags) .
search(pattern, string [, flags])
string , pattern , .
, None.
match(pattern, string [, flags])
0 string
pattern, , , None.
split(pattern, string [, maxsplit])
string ,
pattern . pattern , .
0 maxsplit, maxsplit . :
>>> re.split(\W+, Words, words, words.)
[Words, words, words, ]
>>> re.split((\W+), Words, words, words.)
[Words, , , words, , , words, ., ]
>>> re.split(\W+, Words, words, words., 1)
[Words, words, words.]
findall(pattern, string)
string, pattern. pattern , , , ,
.
.
sub(pattern, repl, string [, count])
,
string, pattern, repl.
, . repl .
, , . :
228
16.
>>> def dashrepl(matchobj):
....
if matchobj.group(0) == -: return
....
else: return -
>>> re.sub(-{1,2}, dashrepl, pro----gram-files)
pro--gram files
0 count,
. .
,
. , sub(x*, -, abc) -a-b-c-.
repl ,
, . ,
r\n , r\6 ( r\g<6>) ,
, r\g<id> ,
id.
16.2.4
:
search(string [, pos [, endpos]])
string , , .
, None. pos
endpos , match(), .
match(string [, pos [, endpos]])
0 string , , ,
None.
16.2. re
229
pos ( 0) , .
string[pos:], ^ r\A
. endpos ,
.
split(string [, maxsplit])
split() , , .
findall(string)
findall() , , .
sub(repl, string [, count])
sub() , , .
subn(repl, string [, count])
subn() , , .
flags
flags, compile()
. ,
.
groupindex
, (, ).
pattern
, , .
16.2.5
, search() match()
, ,
:
group([group1 [, group2 ...]])
, .
groupN 1 99 , ( 0). groupN
230
16.
, ?P<name>expr.
(), IndexError.
group() , ( ), ,
( , 0).
- , None .
, .
.
m = re.match(r"(?P<int>\d+)\.(\d*)", 3.14)
m.group(1) m.group(int) 3, m.group(2)
14.
groups([default])
, , . default ,
. default ,
None.
groupdict([default])
, , . default
, . default
, None.
start([group])
end([group])
,
( ) group ( 0, ). , -1. , g, m.group(g),
m.string[m.start(g):m.end(g)].
span([group])
(m.start(group), m.end(group)), m ,
. , , , (-1, -1).
expand(template)
template ,
(, \n) (\1, \g<1>,
231
16.3
StringIO cStringIO
232
16.
StringIO , Unicode.
,
write() close() UnicodeError. , cStringIO.StringIO()
: Unicode, write(),
, , UnicodeError.
StringIO([string])
, . string, ,
. .
StringIO(), cStringIO . ,
( ,
ValueError),
.
, .
InputType ( cStringIO)
, cStringIO.StringIO()
.
OutputType ( cStringIO)
, cStringIO.StringIO() .
, StringIO() , , :
getvalue()
.
, close().
16.4
codecs
, 1.6.
.
16.4. codecs
233
register(search_function)
search_function .
search_function , , , , (encoder, decoder, stream_reader, stream_writer).
encoder decoder , encode()
decode() Codec, . stream_reader
stream_writer , StreamReader StreamWriter .
search_function ,
None.
lookup(encoding)
encoding
(encoder, decoder, stream_reader, stream_writer),
. ,
LookupError.
,
, :
open(filename [, mode [, encoding [, errors
[, buffering]]]])
filename encoding ( StreamReaderWriter, ), / /.
mode , (
rb). . errors
strict ( ValueError ; ), ignore ( ) replace ( , \uFFFD). buffering
, open().
EncodedFile(file, input [, output, [errors]])
( StreamRecoder, ), file
( ). output,
write() writelines() read(), readline() readlines() input.
Unicode.
output , input. errors
, open().
234
16.
, :
Codec()
/. :
encode(input [, errors])
, input,
.
decode(input [, errors])
,
input, .
StreamWriter(stream [, errors])
,
stream. Codec encode(),
.
StreamReader(stream [, errors])
, stream.
Codec decode(),
.
encode() decode() ,
Codec, :
charmap_encode(input, errors, encoding_map)
input, encoding_map.
, encode().
charmap_decode(input, errors, encoding_map)
input,
encoding_map. ,
decode().
encodings.
open()
EncodedFile():
StreamReaderWriter(stream, Reader, Writer [, errors])
, ( Reader(stream, errors)) (
Writer(stream, errors)) stream.
16.4. codecs
235
236
17
, , , .
locale
gettext
17.1
locale
locale ,
.
( C).
Error
setlocale(),
.
setlocale(category [, locale])
locale, category. locale , (locale). locale ,
. 2.0,
locale :
. , ,
Error.
locale None,
category.
setlocale()
. :
import locale
locale.setlocale(locale.LC_ALL,)
17.1. locale
237
1 . , .
localeconv()
, .
:
decimal_point
( LC_NUMERIC)
, .
grouping
( LC_NUMERIC)
,
,
localeconv()[thousands_sep]. CHAR_MAX, .
,
.
thousands_sep
( LC_NUMERIC)
, .
int_curr_symbol
( LC_MONETARY)
( ISO 4217).
currency_symbol
.
( LC_MONETARY)
mon_decimal_point
( LC_MONETARY)
, .
mon_grouping
( LC_MONETARY)
, localeconv()[grouping].
.
mon_thousands_sep
( LC_MONETARY)
,
.
positive_sign
( LC_MONETARY)
negative_sign
( LC_MONETARY)
,
.
int_frac_digits
( LC_MONETARY)
rac_digits
( LC_MONETARY)
.
p_cs_precedes
( LC_MONETARY)
n_cs_precedes
( LC_MONETARY)
0, , 1,
1
Windows ,
cp866 Unicode. ,
Windows cp1251.
Windows, , .
238
17.
,
.
p_sep_by_space
( LC_MONETARY)
n_sep_by_space
( LC_MONETARY)
1, , 0,
.
p_sign_posn
( LC_MONETARY)
n_sign_posn
( LC_MONETARY)
,
( ): 0 , 1
, 2 , 3 , 4 CHAR_MAX
.
CHAR_MAX
, , localeconv(), .
getdefaultlocale([envvars])
( None, )2 .
, , envvars ( [LANGUAGE, LC_ALL,
codeLC_CTYPE, LANG]). , 2.0.
getlocale([category])
category
( None,
). category
LC_*, LC_ALL; LC_CTYPE. ,
2.0.
normalize(locale)
. locale
, .
,
(ISO8859-5 ). , 2.0.
resetlocale([category])
category ( LC_ALL) 3 . ,
2
Windows NT getdefaultlocale() , , ,
setlocale(),
( ) . .
3
Windows NT - getdefaultlocale() setlocale()
(. 2).
17.1. locale
239
2.0.
strcoll(string1, string2)
( LC_COLLATE)
string1 string2 .
, 0 , string1 string2 .
\000.
strxfrm(string)
( LC_COLLATE)
,
cmp() ( )
, strcoll().
\000.
format(format, val [, grouping])
( LC_NUMERIC)
. , %.
,
grouping, .
str(float)
( LC_NUMERIC)
str(), .
atof(string)
( LC_NUMERIC)
, , .
atoi(string)
( LC_NUMERIC)
,
, .
,
setlocale() ( ):
LC_CTYPE
string, .
LC_COLLATE
strcoll()
strxfrm().
LC_TIME
time.strftime().
240
17.
LC_MONETARY
(. localeconv()
).
LC_MESSAGES
(UNIX)
. (.
gettext).
LC_NUMERIC
, . format(),
atoi(), atof() str(), .
LC_ALL
.
setlocale()
. ,
. LC_ALL , ,
. .
17.2
gettext
gettext .
GNU gettext, , Python.
.
: , , ,
locale.setlocale(), LANGUAGE, LC_ALL, LC_MESSAGES LANG ( ,
) .
language.
17.2.1
GNU gettext
GNU gettext, . ,
.
,
.
17.2. gettext
241
bindtextdomain(domain [, localedir])
domain localedir. gettext os.path.join(localedir, language, LC_MESSAGES,
domain +.mo). localedir None, , domain (
os.path.join(sys.prefix, share, locale)).
textdomain([domain])
None domain, , ( ) domain
.
gettext(message)
message , .
. _() (. ).
dgettext(domain, message)
gettext(),
domain.
GNU gettext dcgettext(), .
:
import gettext
gettext.textdomain(myapplication)
_ = gettext.gettext
...
# , :
print _(This is a translatable string.)
...
17.2.2
, GNU
gettext. , Python. gettext -,
.mo- ,
Unicode .
_() .
242
17.
17.2. gettext
243
gettext(message)
message .
.
ugettext(message)
message Unicode. Unicode.
info()
_info (
).
charset()
_charset ( ).
install([unicode])
unicode ,
gettext() _(),
ugettext().
,
. . , _()
, :
def gettext(message): return message
import __builtin__
if hasattr(__builtin__, ps1):
#
_ = gettext
elif not hasattr(__builtin__, _):
__builtin__._ = gettext
( )
.
gettext GNUTranslations,
NullTranslations. _parse(),
.mo- GNU gettext ( big-endian, little-endian).
_info. Content-Type,
_charset.
.mo ,
GNUTranslations IOError.
244
17.
GNUTranslations gettext()
ugettext(). _charset unicode()
Unicode.
Solaris .mo-,
.
17.2.3
, Python ,
. , ,
_(). :
filename = mylog.txt
message = _(writing a log message)
fp = open(filename, w)
fp.write(message)
fp.close()
writing a log message ,
mylog.txt w .
Python pygettext,
, , .pot-4 .
, .
GNU gettext .mo-,
GNUTranslations.
xpot, po-utils
http://www.iro.umontreal.ca/contrib/po-utils/HTML.
245
18
, ,
. , Numerical Python (NumPy),
http://numpy.sourceforge.net/.
math
cmath
random
whrandom
bisect
. .
array
18.1
math
math
.
cmath.
acos(x)
x.
asin(x)
x.
atan(x)
x.
atan2(x, y)
atan(x/y). y 0
pi/2.
246
18.
ceil(x)
,
x.
cos(x)
x.
cosh(x)
x.
exp(x)
e**x.
fabs(x)
x.
floor(x)
,
x.
fmod(x, y)
C. , x % y.
frexp(x)
(m, e), m ( ) e ( ). m e
x == m * 2**e. x , (0.0, 0). 0.5 <= abs(m) < 1.
hypot(x, y)
, sqrt(x*x + y*y).
ldexp(m, e)
, frexp(). m * (2**e).
log(x)
x.
log10(x)
x.
modf(x)
x.
, x.
pow(x, y)
x**y.
sin(x)
x.
18.2. cmath . . .
247
sinh(x)
x.
sqrt(x)
x.
tan(x)
x.
tanh(x)
x.
, frexp() modf() ,
C: ,
.
:
pi
.
e
e.
18.2
cmath
cmath ,
.
acos(x)
x.
acosh(x)
x.
asin(x)
x.
asinh(x)
x.
atan(x)
x.
248
18.
atanh(x)
x.
cos(x)
x.
cosh(x)
x.
exp(x)
e**x.
log(x)
x.
log10(x)
x.
sin(x)
x.
sinh(x)
x.
sqrt(x)
x.
tan(x)
x.
tanh(x)
x.
, frexp() modf() ,
C: ,
.
:
pi
().
e
e ().
, , math. .
, math.sqrt(-1) , cmath.sqrt(-1)
1j. , cmath
, (
).
18.3. random . . .
18.3
249
random
,
.
, whrandom.
.
betavariate(alpha, beta)
-. 1,
0 1.
cunifvariate(mean, arc)
. mean , arc
. 0 .
mean - arc/2 mean + arc/2 (
0 ).
expovariate(lambda)
. lambda ,
. 0
+.
gamma(alpha, beta)
-. alpha > -1
beta > 0.
gauss(mu, sigma)
normalvariate(mu, sigma)
(). mu sigma
. gauss() .
lognormvariate(mu, sigma)
. ,
,
mu sigma. mu ,
sigma .
vonmisesvariate(mu, kappa)
. mu , 0 2, kappa ,
. kappa ,
0 2.
paretovariate(alpha)
. alpha .
250
18.
weibullvariate(alpha, beta)
. alpha , beta
.
random random(), uniform(),
randrange(), randint() choice() whrandom
seed():
seed([obj])
- obj.
obj None,
( whrandom.seed()).
18.4
whrandom
whrandom, -1 :
whrandom([x, y, z])
, , seed(), -.
whrandom :
seed([x, y, z])
x, y z. 0 255 (). ,
, .
, .
random()
r , 0.0 <= r < 1.0.
uniform(a, b)
r , a <= r < b.
randrange([start,] stop [, step])
range(start, stop, step).
randint(a, b)
range(a, b +1).
randrange().
1
Wichmann, B. A. and Hill, I. D., Algorithm AS 183: An efficient and portable pseudo-random number
generator, URL 31 (1982) 188190.
18.5. bisect . . .
251
choice(seq)
seq
.
whrandom whrandom
seed(), random(), uniform(), randrange(), randint()
choice() . , whrandom
.
whrandom . ,
, random.
18.5
bisect
,
, .
.
bisect :
bisect(list, item [, lo [, hi]])
(), item, ,
. lo hi
,
.
list.insert().
insort(list, item [, lo [, hi]])
item list, . list.insert(bisect.bisect(list, item, lo, hi), item).
bisect() .
(
, )
. 85 A, 7584 B
. .:
>>> grades = "FEDCBA"
>>> breakpoints = [30, 44, 66, 75, 85]
252
18.
18.6
array
array,
: , .
:
.
, :
c
b
B
h
H
i
I
l
L
f
d
char ()
signed char ( )
unsigned char ( )
signed short ( )
unsigned short ( )
signed int ( )
unsigned int ( )
signed long ( )
unsigned long ( )
float ( )
double ( )
1
1
1
2
2
2
2
4
4
4
8
. itemsize .
, L I,
long int Python, int
unsigned int unsigned long.
array(typecode [, initializer])
-,
typecode, initializer ( ; initializer
fromlist() fromstring()) .
18.6. array
253
ArrayType
, , array().
:
typecode
, .
itemsize
.
append(x)
x .
buffer_info()
, . ,
, .
byteswap()
.
,
1, 2, 4 8 .
, .
count(x)
x.
extend(a)
a .
fromfile(f, n)
read(f, n)
n ( )
, ( file) f.
, n, EOFError,
.
read() .
fromlist(list)
list. for x in list: a.append(x) : , .
fromstring(s)
s, ( ,
fromfile()).
.
254
18.
index(x)
x.
, ValueError.
insert(i, x)
x i.
pop([i])
i . . i
-1, .
remove(x)
x.
reverse()
.
tofile(f)
write()
( ) , f. write()
.
tolist()
.
tostring()
(
, tofile()).
255
19
, , ,
.
UserString
UserList
UserDict
19.1
UserString
,
, .
,
.
UserString([initialdata])
, string ( ) unicode ( Unicode). initialdata ( ).
initialdata (string unicode), (str(initialdata)). initialdata , .
initialdata data .
, (. 11.2.1),
UserString :
data
(string unicode), .
256
19.
, UserString
:
MutableString([initialdata])
, .
:
- , , ,
, . MutableString
, ,
__hash__().
UserString, MutableString
, :
( ) ( ) , (. 11.2.6).
19.2
UserList
,
. ,
.
UserList:
UserList([initialdata])
, list (). , initialdata ( ).
initialdata , .
initialdata data .
, (. 11.2.6), UserList
:
data
, .
19.3. UserDict
19.3
257
UserDict
,
. ,
.
UserDict:
UserDict([initialdata])
, dictionary (). ,
initialdata ( ).
initialdata , .
initialdata data .
, (.
11.3), UserDict :
data
, .
258
20
, ,
Python.
pickle
Python .
cPickle
pickle.
shelve
DBM.
marshal
- ( ) .
struct
C.
20.1
pickle cPickle
pickle , (pickling,
)
Python (unpickling).
.
,
. shelve
DBM.
Python pickle , C cPickle 1000
. cPickle , , Pickler Unpickler
, .
pickle cPickle
marshal, :
259
pickle cPickle , , .
(, ),
marshal. ( ):
, .
marshal , pickle cPickle .
, .
Python , , , XDR (External Data
Representation), . ,
.
ASCII ,
. ,
, . , bin Pickler dump()
dumps().
pickle cPickle .
,
marshal. ,
.
, . , -
persistent_id().
ASCII . - persistent_load().
. ,
. -, ( __dict__)
__getstate__() , , .
__init__() . , , __getinitargs__()
. (. ??)
__getstate__() __setstate__() .
260
20.
, -
, , , .
, , , .
, .
, ,
,
__setstate__().
pickle cPickle :
Pickler(file [, bin])
( pickle) ( cPickle), ,
. file , write(). bin (
), .
Unpickler(file)
( pickle) ( cPickle), ,
. file , read() readline().
, Pickler(), ()
:
dump(object)
object.
persistent_id(object)
( , ) . -
None, .
persistent_id() (cPickle) None
(pickle).
, Unpickler(), , :
load()
.
noload() ( cPickle)
, .
persistent_load
261
persistent_load(id_string)
( , )
id_string, persistent_id(). persistent_load() .
dump() Pickler.
load() Unpickler().
dump()
Pickler, load() . ,
load(). Pickler,
.
Pickler() Unpickler(),
:
dump(object, file [, bin])
object
Pickler(file, bin).dump(object).
file.
load(file)
file .
dumps(object [, bin])
, .
loads(string)
string
.
format_version
- , .
compatible_formats
() , ,
(format_version), .
, pickle
cPickle ( 2.0
, ):
PickleError
,
Exception.
262
20.
PicklingError
,
, .
UnpicklingError
, ,
(. copy_reg).
, :
None;
, .
Unicode.
, , , .
, (
).
, __dict__ .
,
(. ??).
, copy_reg.
.
20.2
shelve
DBM
(shelf)
, DBM . cPickle pickle,
.
open(filename [, flag])
filename DBM
-. flag
anydbm.open() (. anydbm).
- , (. 11.3): , ,
20.3. marshal -
263
20.3
marshal -
-
(code), : None; ,
( ); , , , . - ( ) . - Python,
. marshal . pickle, cPickle shelve.
:
dump(object, file)
- object . file file,
(wb w+b). object - , ValueError,
,
load().
load(file)
- , . , EOFError,
ValueError TypeError. file file,
(rb r+b).
dumps(object)
- object.
loads(string)
- string. .
264
20.
20.4
struct C
C .
.
, .
error
, .
, .
pack(format, value1 ...)
, value1 ..., . , format.
unpack(format, string)
string format . , ,
calcsize(format).
calcsize(format)
( ),
format.
:
x
c
b
B
h
H
i
I
C
( )
char
signed char
unsigned char
short
unsigned short
int
unsigned int
l
L
f
d
s
p
P
long
unsigned long
float
double
char[]
char[]
void *
Python
( )
( 1)
int
int
int
int
int
long int (int, C int ,
long)
int
long int
float
float
string
string
int
20.4. struct C
265
, .
, 4h hhhh.
,
.
s ,
. 10s 10 , 10c
10 .
0.
.
p
Pascal. , . p ,
.
. , ,
.
@
=
<
>
!
little-endian
big-endian
(= big-endian)
P .
, ,
, 0. , llh0l
(, long ).
.
struct ( Intel,
little-endian):
>>> from struct import *
>>> pack(hhl, 1, 2, 3)
\001\000\002\000\003\000\000\000
>>> unpack(hhl, \001\000\002\000\003\000\000\000)
(1, 2, 3)
>>> calcsize(hhl)
8
266
21
, , , ( ) .
os
os.path
stat
,
os.stat(), os.lstat() os.fstat().
statvfs
, , os.statvfs().
filecmp
popen2
/ .
time
sched
getpass
getopt
tempfile
errno
glob
UNIX shell.
fnmatch
UNIX shell.
shutil
signal
socket
select
/
.
mmap
21.1. os
21.1
267
os
os (). ,
(posix, nt, mac .)
. , , . ,
os,
.
error
OSError (. 13).
name
. : posix, nt, dos, mac, os2, ce, java.
path
, , posixpath macpath.
os.path.
strerror(code)
(UNIX, Windows)
,
code.
21.1.1
, ,
.
environ
. ,
environ[HOME] HOME. putenv(), environ
. putenv() environ.
putenv() , , .
chdir(path)
getcwd()
21.1.4.
268
21. , . . .
ctermid()
(UNIX)
,
.
getegid()
(UNIX)
.
geteuid()
(UNIX)
.
getgid()
.
(UNIX)
getgroups()
(UNIX)
,
.
getlogin()
(UNIX)
,
.
getpgrp()
.
getpid()
.
(UNIX)
(UNIX, Windows)
getppid()
.
(UNIX)
getuid()
.
(UNIX)
putenv(varname, value)
( UNIX, Windows)
varname
value. .
setegid(egid)
(UNIX)
egid.
seteuid(euid)
(UNIX)
euid.
setgid(gid)
(UNIX)
egid.
21.1. os
269
setpgrp()
(UNIX)
( setpgid(0, 0)).
setpgid(pid, pgrp)
(UNIX)
pid
pgrp. pid 0 .
pgrp 0,
.
setreuid(ruid, euid)
(UNIX)
ruid euid .
setregid(rgid, egid)
(UNIX)
rgid egid .
setsid()
(UNIX)
, .
setuid(uid)
(UNIX)
uid.
umask(mask)
(UNIX, Windows)
,
.
uname()
( UNIX)
: , , ,
, . , socket.gethostname()
socket.gethostbyaddr(socket.gethostname()) (.
socket).
21.1.2
.
fdopen(fd [, mode [, bufsize]])
(UNIX, Windows, Macintosh)
, fd.
mode bufsize ,
open().
270
21. , . . .
21.1.3
.
close(fd)
fd.
21.1. os
dup(fd)
fd.
271
(UNIX, Windows, Macintosh)
dup2(fd1, fd2)
(UNIX, Windows)
fd1 fd2, ,
.
fpathconf(fd, name)
(UNIX)
, . name
. pathconf_names. name ,
ValueError. (
pathconf_names), OSError errno.EINVAL .
fstat(fd)
(UNIX, Windows)
fd , ,
stat().
fstatvfs(fd)
(UNIX)
, , fd, , ,
statvfs().
ftruncate(fd, length)
(UNIX)
, fd, ,
length .
isatty(fd)
(UNIX)
1, fd tty- , 0.
lseek(fd, offset, whence)
(UNIX, Windows, Macintosh)
, fd. whence : 0 , 1
2 .
open(filename, flags [, mode])
(UNIX, Windows, Macintosh)
filename,
flags
mode ( 0777) (umask). . ,
, |.
openpty()
( UNIX)
(master, slave) pty tty .
272
21. , . . .
pipe()
(UNIX, Windows)
(r, w), .
read(fd, n)
(UNIX, Windows, Macintosh)
n , fd. .
tcgetpgrp(fd)
(UNIX)
, , fd.
tcsetpgrp(fd, pg)
(UNIX)
, ,
fd, pg.
ttyname(fd)
(UNIX)
, fd. fd
tty, .
write(fd, str)
(UNIX, Windows, Macintosh)
str , fd.
.
flags open()
, |:
O_RDONLY
(UNIX, Windows,
O_WRONLY
(UNIX, Windows,
O_RDWR
(UNIX, Windows,
: ,
.
Macintosh)
Macintosh)
Macintosh)
O_APPEND
.
O_CREAT
, .
O_EXCL
, .
O_TRUNC
(UNIX, Windows, Macintosh)
, .
O_NDELAY
O_NONBLOCK
.
(UNIX)
(UNIX)
O_DSYNC
O_RSYNC
O_SYNC
/.
(UNIX)
(UNIX)
(UNIX)
21.1. os
273
O_NOCTTY
(UNIX)
tty, ,
.
O_BINARY
O_TEXT
.
21.1.4
(Windows, Macintosh)
(Windows, Macintosh)
access(path, mode)
(UNIX, Windows)
() path ,
/ . mode F_OK ( |)
R_OK, W_OK X_OK . 1, ,
0.
F_OK
mode access() .
R_OK
mode access() .
W_OK
mode access() .
X_OK
mode access() .
chdir(path)
path.
getcwd()
(UNIX, Windows, Macintosh)
, .
chmod(path, mode)
(UNIX, Windows)
() mode ( ).
chown(path, uid, gid)
(UNIX)
()
path uid gid .
link(src, dst)
dst, src.
(UNIX)
274
21. , . . .
listdir(path)
(UNIX, Windows, Macintosh)
path (
path). (curdir
pardir), .
lstat(path)
(UNIX)
stat(), .
mkfifo(path [, mode])
(UNIX)
(FIFO) path mode ( ,
0666) (umask).
.
, , ,
unlink().
.
mkdir(path [, mode])
(UNIX, Windows, Macintosh)
path mode ( , 0777) (umask).
makedirs(path [, mode])
.
mkdir(), .
IOError, path
.
pathconf(path, name)
(UNIX)
, path.
name . pathconf_names. name ,
ValueError. (
pathconf_names), OSError errno.EINVAL .
pathconf_names
(UNIX)
, , pathconf()
fpathconf(), .
readlink(path)
(UNIX)
(), path.
remove(path)
(UNIX, Windows, Macintosh)
unlink(path)
(UNIX, Windows, Macintosh)
path.
rmdir().
removedirs(path)
.
21.1. os
275
rmdir(), (
). IOError, path
.
rename(src, dst)
() src dst.
renames(old, new)
.
rename(), ,
new. old new old
removedirs().
rmdir(path)
path.
stat(path)
(UNIX, Windows, Macintosh)
() path ,
10 ( )
: st_mode, st_ino, st_dev, st_nlink, st_uid, st_gid,
st_size, st_atime, st_mtime, st_ctime. stat , .
Windows .
statvfs(path)
(UNIX)
, path,
10 : f_bsize, f_frsize, f_blocks, f_bfree, f_bavail, f_files, f_ffree,
f_favail, f_flag, f_namemax. statvfs
, .
symlink(src, dst)
dst, src.
(UNIX)
tempnam([dir [, prefix]])
(UNIX)
, dir. dir None,
. None prefix (), .
, 1.6.
tmpnam()
(UNIX)
, . . ,
1.6.
TMP_MAX
, tmpnam() , . ,
1.6.
276
21. , . . .
utime(path, times)
(UNIX, Windows, Macintosh)
path. 2.0, times
None , . times (atime, mtime), atime mtime
.
21.1.5
, , .
exec*()
. ,
, sys.argv[0], Python. , os.execv(/bin/echo, [foo, bar])
bar , foo
.
abort()
(UNIX, Windows)
SIGABRT . UNIX SIGABRT
(core), Windows , 3.
signal.signal().
execl(path [, arg1 ...])
execv(path, (arg1, ...)).
(UNIX, Windows)
(UNIX, Windows)
execv(path, args)
(UNIX, Windows)
path args ( ),
( ).
execve(path, args, env)
(UNIX, Windows)
path args ( ) env (, ),
( ).
execvp(path, args)
(UNIX, Windows)
(environ[PATH]) path execv().
21.1. os
277
278
21. , . . .
startfile(path)
(Windows)
, ( ) path
, start
Windows ( Explorer). .
. os.path.normpath() .
startfile() , 2.0.
system(command)
(UNIX, Windows)
command (). ,
wait(), Windows 95 98
0.
times()
(UNIX, Windows)
,
, , ,
.
wait()
(UNIX)
(pid, code),
pid code , , (
, ),
( 0).
waitpid(pid, options)
(UNIX)
, pid,
(pid, code) (. wait()).
options, 0
.
pid 0, waitpid()
pid. pid 0,
, . pid -1, .
pid -1,
-pid ( pid).
WNOHANG
(UNIX)
waitpid() , , .
, system(), wait() waitpid():
WIFSTOPPED(code)
, .
(UNIX)
21.1. os
WIFSIGNALED(code)
, .
279
(UNIX)
WIFEXITED(code)
(UNIX)
,
exit().
WEXITSTATUS(code)
(UNIX)
WIFEXITED(code) , ,
exit(), - .
WSTOPSIG(code)
, .
(UNIX)
WTERMSIG(code)
, .
(UNIX)
21.1.6
confstr(name)
(UNIX)
, . name
.
confstr_names. name ,
. name , ValueError.
( confstr_names), OSError errno.EINVAL .
confstr_names
(UNIX)
, , confstr(),
.
sysconf(name)
(UNIX)
. name
.
sysconf_names.
name , -1. name , ValueError. ( sysconf_names), OSError
errno.EINVAL .
sysconf_names
(UNIX)
, , sysconf(),
.
. os.path.
280
21. , . . .
curdir
, , . :.
pardir
, , ..
::.
sep
, , , /,
\ :.
altsep
, ,
None, . DOS Windows
/.
pathsep
,
( PATH), , : ;.
defpath
,
PATH.
linesep
, , , \n, \r \r\n.
21.2
os.path
.
abspath(path)
path.
normpath(join(os.getcwd(), path)).
basename(path)
(basename) path.
split(path). ,
basename, /foo/bar/ bar,
basename() .
commonprefix(list)
list ( ), (
). list ,
().
21.2. os.path
281
dirname(path)
path. split(path).
exists(path)
1, path ( ) ,
0.
expanduser(path)
~ ~user,
. ~ HOME,
user
pwd. -
~, path .
expandvars(path)
$name ${name},
name. , , path .
Macintosh path .
getatime(path)
( , . time) () path. IOError,
.
getmtime(path)
( , . time)
() path.
IOError, .
getsize(path)
() path.
IOError, .
isabs(path)
1, path .
isfile(path)
1, path ,
0. ,
islink() isfile() .
isdir(path)
1, path , 0. , islink()
isdir() .
islink(path)
1, path ,
0. 0, .
282
21. , . . .
ismount(path)
1, path ,
path ()
(i-node) .
join(path1 [, path2 ...])
. -
, . path1,
path2 . ., os.sep. , os.sep.
normcase(path)
path . UNIX . , , . Windows
(os.altsep)
(os.sep).
normpath(path)
path.
,
A//B, A/./B A/foo/../B A/B. Windows
(os.altsep)
(os.sep). normpath()
normcase().
samefile(path1, path2)
(UNIX, Macintosh)
1, (), 0. IOError, os.stat()
- .
sameopenfile(file1, file2)
(UNIX, Macintosh)
1, file1 file2
( ),
0.
samestat(stat1, stat2)
(UNIX, Macintosh)
1, stat1 stat2 (,
fstat(), lstat() stat()) .
split(path)
path (head, tail), tail
head . tail os.sep: path , tail
. os.sep head ,
, path . join(head,
tail) , path.
283
splitdrive(path)
path (drive, tail), drive head .
, drive
. drive + tail == path
.
splitext(path)
path (root, ext) ,
root + ext == path ext
.
walk(path, visit, arg)
visit(arg, dirname, names) , path ( path). dirname ,
visit, names
dirname (os.listdir(dirname),
dirname). visit
names , , , , -
.
21.3
stat os.stat()
284
21. , . . .
S_ISLNK(st_mode)
, st_mode .
S_ISSOCK(st_mode)
, st_mode (socket).
S_IMODE(st_mode)
,
os.chmod() , sticky bit, set-group-id set-user-id.
S_IFMT(st_mode)
, (
S_IS*(), ).
os.path.is*() (. os.path) .
,
,
stat() .
, os.stat(), os.fstat() os.lstat().
ST_MODE
.
ST_INO
(i-node).
ST_DEV
, .
ST_NLINK
() .
ST_UID
-.
ST_GID
-.
ST_SIZE
.
ST_ATIME
.
ST_MTIME
.
285
ST_CTIME
.
:
import os, sys
from stat import *
def visit(arg, dir, names):
for name in names:
fullname = os.path.join(dir, name)
mode = os.stat(fullname)[ST_MODE]
if S_ISDIR(mode):
print , fullname
elif S_ISREG(mode):
print , fullname
else:
print , fullname
if __name__ == __main__:
os.path.walk(sys.argv[1], visit, None)
21.4
statvfs os.statvfs()
, , os.statvfs(), .
.
F_BSIZE
.
F_FRSIZE
.
F_BLOCKS
.
F_BFREE
.
F_BAVAIL
, .
F_FILES
( ).
286
21. , . . .
F_FFREE
.
F_FAVAIL
, .
F_FLAG
, .
F_NAMEMAX
.
21.5
filecmp
filecmp
.
cmp(f1, f2 [, shallow])
f1 f21 . 1, , 0. ,
, os.stat(). ,
shallow, .
, , os.stat() .
cmpfiles(dir1, dir2, common [, shallow])
, common ( ), dir1 dir21 .
(match, mismatch, errors). match ,
, mismatch errros
, - (,
). shallow ,
cmp().
, , ( ):
dircmp(dir1, dir2 [, ignore])
, dir1
dir2. , ignore ( [RCS,
CVS, tags]), .
1
cmp() cmpfiles() .
, , .
21.5. filecmp
287
dircmp :
report()
(sys.stdout) .
report_partial_closure()
(sys.stdout) .
report_full_closure()
(sys.stdout) .
left_list
dir1, ignore.
right_list
dir2, ignore.
common
, dir1, dir2.
left_only
, dir1.
right_only
, dir2.
common_dirs
, dir1, dir2.
common_files
, dir1, dir2.
common_funny
, ,
os.stat().
same_files
, ( ,
os.stat()).
diff_files
, , .
funny_files
, , - (, ).
288
21. , . . .
subdirs
, common_dirs
dircmp .
, ,
.
, . .
21.6
popen2 /
21.7. time
289
21.7
time
time .
, .
.
, 0 1 .
UNIX 1970 .
, gmtime(0).
290
21. , . . .
.
C, . UNIX 2038 .
Python C , 2000 ,
, . , , , .
,
accept2dyear .
1, , PYTHONY2K
, accept2dyear . ,
, PYTHONY2K .
,
POSIX X/Open: 6999
19691999 068 20002068. 1001899 .
UTC Universal Coordinated Time, , GMT (Greenwich Mean Time, ).
DST Daylight Saving Time, () . . C
.
, , , , .
, time() sleep() , C UNIX:
, time() ( gettimeofday() C, ), sleep() ( select() C,
).
, gmtime(),
localtime() strptime() asctime(),
mktime() strftime(), 9 :
1993,
112
()
131
023
059
21.7. time
291
061; 60 61
06;
0
1366
( )
0, 1 -1;
, C,
112, 011. ,
. -1, ,
.
:
accept2dyear
, . 1, , PYTHONY2K ,
accept2dyear . ,
, PYTHONY2K
. accept2dyear
.
altzone()
UTC. ,
UTC ( ). ,
daylight .
asctime(time_tuple)
time_tuple, ( gmtime(), localtime() strptime()), 24
Sun Jun 20 23:21:05 1993. , C,
.
clock()
.
C. clock() , ,
.
ctime(secs)
secs, , . asctime(localtime(secs)).
292
21. , . . .
daylight
, (DST).
gmtime(secs)
secs, , (UTC).
localtime(secs)
secs, , . 1 ( ), (DST).
mktime(time_tuple)
, localtime(). time_tuple 9 , . time()
. time_tuple , OverflowError.
sleep(secs)
secs . secs . ,
, secs, sleep(),
. , secs
- .
strftime(format, time_tuple)
, time_tuple, format.
( ,
. . .
locale):
%a
%A
%b
%B
%c
( ) .
%d
( ), 01
31.
%H
, 0023.
%I
, 0112.
21.7. time
%j
293
, 001366.
%m
, 0112.
%M
, 0159.
%p
AM ( ) PM ( ).
%S
, 0061. 60 61
.
%U
, 0053. ,
, 0.
%w
, 06 (0
).
%W
, 0053. ,
, 0.
%x
( ) .
%X
( ) .
%y
( ), 0099.
%Y
(
).
%Z
( , ).
%%
%.
.
strptime(string [, format])
( UNIX)
string
format , . format
,
strftime(). format %a %b %d
%H:%M:%S %Y, , ctime().
string format,
ValueError.
294
21. , . . .
time()
(UTC)
. ,
, 1 .
timezone
( )
UTC ( ,
).
tzname
:
( , ).
21.8
sched
sched , :
scheduler(timefunc, delayfunc)
, . , . timefunc
(, ). delayfunc (
, timefunc), . ,
,
timefunc 0.
scheduler :
enterabs(time, priority, action, arguments)
. time
, ,
timefunc. action
arguments (). , ,
( priority).
, , cancel(),
.
enter(delay, priority, action, arguments)
. delay
21.9. getpass
295
, , timefunc, .
,
enterabs().
cancel(task)
. task,
RuntimeError.
empty()
1, , 0.
run()
. (
delayfunc, ) ,
, . . ,
.
, timefunc, delayfunc action
. action,
run().
:
>>> import sched, time
>>> s=sched.scheduler(time.time, time.sleep)
>>> def print_time():
...
print " print_time:", time.time()
...
>>> def print_some_times():
...
print time.time()
...
s.enter(5, 1, print_time, ())
...
s.enter(10, 1, print_time, ())
...
s.run()
...
print time.time()
...
>>> print_some_times()
930343690.257
print_time: 930343695.274
print_time: 930343700.273
930343700.276
21.9
getpass
getpass :
296
21. , . . .
getpass([prompt])
(UNIX, Windows, Macintosh)
.
prompt (
Password: ).
getuser()
(UNIX, Windows)
. LOGNAME, USER, LNAME USERNAME , .
, pwd ,
( ImportError).
21.10
getopt
getopt ,
(sys.argv). getopt() ,
C UNIX, --. , ,
GNU, , getopt().
getopt(args, options [, long_options])
args ( sys.argv[1:]).
options ,
. ,
options (:).
long_options,
, , -. , ,
(=).
:
(option, value) ( ) , ( args).
option
. value , .
, args.
.
GetoptError
error
, , , .
21.10. getopt
297
, , . GetoptError
:
msg
.
opt
, , ,
.
GetoptError 1.6.
error, GetoptError.
, :
>>> import getopt
>>> args = -a -b -cfoo -d bar a1 a2.split()
>>> args
[-a, -b, -cfoo, -d, bar, a1, a2]
>>> optlist, args = getopt.getopt(args, abc:d:)
>>> optlist
[(-a, ), (-b, ), (-c, foo), (-d, bar)]
>>> args
[a1, a2]
:
>>> s = --condition=foo --testing --output-file
... abc.def -x a1 a2
>>> args = s.split()
>>> args
[--condition=foo, --testing, --output-file,
abc.def, -x, a1, a2]
>>> optlist, args = getopt.getopt(args, x, [
...
condition=, output-file=, testing])
>>> optlist
[(--condition, foo), (--testing, ),
(--output-file, abc.def), (-x, )]
>>> args
[a1, a2]
getopt
:
import getopt, sys
298
21. , . . .
USAGE = """\
...
"""
def main():
try:
opts, args = getopt.getopt(sys.argv[1:],
ho:,
[help, output=])
except getopt.GetoptError:
# :
print << sys.stderr, USAGE
sys.exit(2)
output = None
for o, a in opts:
if o in (-h, --help):
print USAGE
sys.exit()
if o in (-o, --output):
output = a
# ...
if __name__ == __main__:
main()
21.11
tempfile
:
mktemp([suffix])
. , .
mktemp() . suffix,
() .
TemporaryFile([mode [, bufsize [, suffix]]])
( ) , .
. UNIX ,
, , ,
. , (
).
mode , .
w+b, ,
21.12. errno . . .
299
. bufsize ,
open(). suffix, () .
gettempprefix()
, ( ).
, , . ,
, from tempfile
import ... .
tempdir
None, ,
. mktemp().
TMPDIR, TEMP TMP. , (/var/tmp, /usr/tmp /tmp
UNIX) .
template
, None, .
mktemp(). @pid. UNIX, ~pid- Windows
NT, Python-Tmp- Macintosh tmp .
21.12
errno
.
, IOError ( errno).
errorcode
, . ,
errorcode[EPERM] EPERM.
, ,
os.strerror().
( POSIX.1, ISO C). ,
(
errno.errorcode.values()):
300
21. , . . .
EPERM
.
ENOENT
.
ESRCH
.
EINTR
.
EIO
/.
ENXIO
.
E2BIG
.
ENOEXEC
exec().
EBADF
.
ECHILD
.
EAGAIN
.
ENOMEM
.
EACCES
.
EFAULT
.
EBUSY
.
EEXIST
.
EXDEV
( , ).
ENODEV
.
21.12. errno . . .
301
ENOTDIR
.
EISDIR
.
EINVAL
.
ENFILE
( ).
EMFILE
.
ENOTTY
/ ( ).
ETXTBSY
(, ,
).
EFBIG
.
ENOSPC
.
ESPIPE
.
EROFS
.
EMLINK
.
EPIPE
(pipe).
EDOM
.
ERANGE
.
EDEADLK
.
ENAMETOOLONG
.
302
21. , . . .
ENOLCK
.
ENOSYS
.
ENOTEMPTY
.
EBADMSG
.
EILSEQ
.
EMSGSIZE
.
ETIMEDOUT
.
EINPROGRESS
.
21.13
glob
glob , ,
, UNIX shell.
, ~, , os.listdir()
fnmatch.fnmatch() (. fnmatch ). ,
os.path.expanduser().
glob(pathname)
(, ) ,
pathname. pathname , ( ) , , (. fnmatch).
2 .
, , 1.gif, 2.txt
card.gif. glob() ( , ):
2
[seq] ![seq] , .
21.14. fnmatch
303
21.14
fnmatch
*
?
.
() .
[seq]
() ,
seq.
[!seq]
() ,
seq.
, (/, \, :)
.
* ?.
fnmatch(filename, pattern)
1, () pattern, 0. ,
os.path.normcase(). os.path.normcase()
os.altsep os.sep, , Windows, \
/ ( / \\
/, \\).
fnmatchcase(filename, pattern)
1, () pattern,
0. ,
.
304
21. , . . .
glob , , .
21.15
shutil
shutil .
: Macintosh . , , .
copyfile(src, dst)
src dst. dst
, .
copyfileobj(fsrc, fdst [, bufsize])
( ) fsrc (
) fdst. bufsize, ( , ).
copymode(src, dst)
dst ,
src.
copystat(src, dst)
dst , , src.
, .
copy(src, dst)
src dst. dst ,
( ) () , src.
.
copy2(src, dst)
copy(),
dst ,
src ( cp -p UNIX).
copytree(src, dst [, symlinks])
src dst. dst .
copy2(). symlinks,
21.16. signal
305
, , , . ,
, .
(. ), .
rmtree(path [, ignore_errors [, onerror]])
path.
ignore_errors, , , , onerror
( , onerror ).
onerror :
function, path excinfo. function , (os.remove() os.rmdir()), path , function, excinfo , sys.exc_info(). ,
, .
21.16
signal
. :
,
.
SIGCHLD,
.
.
, Python. ,
, C (,
), .
/ .
, SIGFPE
SIGSEGV.
:
SIGPIPE ( ,
) SIGINT KeyboardInterrupt.
.
306
21. , . . .
. : signal()
. alarm(),
getsignal() pause(),
. ,
.
signal :
SIG_DFL
signal() , getsignal() ,
( ) .
SIG_IGN
signal() , .
SIG*
.
, .
NSIG
,
.
alarm(time)
(UNIX)
time , SIGALRM time .
. ,
. time ,
,
. alarm() 0,
.
getsignal(signalnum)
signalnum.
, , : signal.SIG_IGN, signal.SIG_DFL None. None
, .
pause()
(UNIX)
,
.
signal(signalnum, handler)
handler signalnum.
handler , , : SIG_IGN SIG_DFL.
.
21.17. socket
307
handler signalnum
: ( None).
ValueError.
, alarm() , . ,
, .
os.open() . ,
, SIGALRM 5 : ,
.
import signal, os
def handler(signum, frame):
raise IOError("Couldnt open device!")
#
signal.signal(signal.SIGALRM, handler)
# 5
signal.alarm(5)
#
fd = os.open(/dev/ttyS0, os.O_RDWR)
#
signal.alarm(0)
21.17
socket
socket .
UNIX, Windows, Macintosh, BeOS,
OS/2 , , .
AF_UNIX (host, port) AF_INET, host , (, daring.cwi.nl) IP (,
100.50.200.5), port .
IP : INADDR_ANY <broadcast>
INADDR_BROADCAST.
setblocking().
socket :
308
21. , . . .
error
, . , , , ,
(. errno).
AF_UNIX
(UNIX)
AF_INET
socket() , (UNIX Internet).
SOCK_STREAM
SOCK_DGRAM
SOCK_RAW
SOCK_RDM
SOCK_SEQPACKET
socket() (
).
INADDR_*
IP_*
IPPORT_*
IPPROTO_*
MSG_*
SO_*
SOL_*
SOMAXCONN
setsockopt() getsockopt() ,
.
UNIX IP.
getfqdn([name])
name. name , . , ,
, gethostbyaddr(), ,
. , . ,
, . , 2.0.
gethostbyname(hostname)
, IP hostname.
hostname IP , .
gethostbyname_ex(hostname)
(mainhostname, aliaslist, ipaddrlist),
mainhostname , hostname,
aliaslist ( )
21.17. socket
309
ipaddrlist IP
( ).
gethostname()
, ,
Python. IP , gethostbyname(gethostname()). ,
gethostname()
getfqdn(gethostname()).
gethostbyaddr(ip_address)
(hostname,
aliaslist,
ipaddrlist),
hostname , IP ip_address,
aliaslist ( )
ipaddrlist IP
( ).
getprotobyname(protocolname)
, socket() protocolname.
,
(SOCK_RAW),
, .
getservbyname(servicename, protocolname)
servicename
protocolname. tcp udp.
socket(family, type [, proto])
.
family (AF_INET AF_UNIX), type
( SOCK_*) proto . proto
, .
fromfd(fd, family, type [, proto])
fd
. (
, ). ,
socket().
ntohl(x)
32- .
ntohs(x)
16- .
310
21. , . . .
htonl(x)
32- .
htons(x)
16- .
inet_aton(ip_string)
, IP ip_string ( 123.45.67.89) .
,
C.
inet_ntoa(packed_ip)
IP , packed_ip, .
SocketType
, socket().
, socket(), :
accept()
(conn, address), conn , ,
address . , accept(),
( bind()) ( listen()).
bind(address)
address. .
, (. ).
close()
, .
.
connect(address)
address.
, (. ).
connect_ex(address)
connect(), , connect() , . 0
21.17. socket
311
errno .
.
fileno()
( ).
select.select().
getpeername()
, .
, (.
). , ,
IP .
getsockname()
. , (. ). ,
, .
getsockopt(level, optname [, buflen])
optname. optname
SO_*, .
buflen , .
buflen , .
listen(backlog)
. backlog ( , 5).
makefile([mode [, bufsize]])
( file, . 11.7), . , ,
( ) . mode bufsize
, open().
recv(bufsize [, flags])
. , ,
bufsize. flags recv().
recvfrom(bufsize [, flags])
recv(), (string, address),
string address ,
. address , (. ).
312
21. , . . .
send(string [, flags])
. . flags , recv().
.
sendto(string [, flags], address)
address. . flags , recv().
. , (. ).
setblocking(flag)
flag 0, ,
.
. , recv() send()
, error.
recv() send()
, .
setsockopt(varlevel, optname, value)
optname value.
optname SO_*,
. value
.
shutdown(how)
. how 0,
. how 1, . how 2,
, .
, TCP/IP : , ( ), ,
. , socket(), bind(), listen(), accept() ( accept(),
), socket(), connect(). ,
send() recv() , , , accept().
#
import socket
#
HOST =
#
PORT = 50007
21.18. select /
313
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print , addr
while 1:
data = conn.recv(1024)
if not data: break
conn.send(data)
conn.close()
#
import socket
#
HOST = daring.cwi.nl
# ,
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(Hello, world)
data = s.recv(1024)
s.close()
print :, data
21.18
select /
314
21. , . . .
, , ,
.
select() ,
iwtd, owtd ewtd , /.
,
.
poll()
( UNIX)
, /.
, poll(), :
register(fd [, eventmask])
( fileno(), ) fd. poll()
/. eventmask (
|) POLLIN, POLLPRI POLLOUT . .
.
unregister(fd)
( fileno(),
) fd. , , KeyError.
poll([timeout])
/ (fd, event), fd
, ,
event (. ),
. timeout , , ,
. ,
.
, eventmask register() ,
poll():
POLLIN
.
POLLPRI
.
21.19. mmap
315
POLLOUT
( ).
POLLERR
.
POLLHUP
.
POLLNVAL
: .
21.19
mmap
316
21. , . . .
MAP_PRIVATE
. .
, .
PROT_READ
.
PROT_WRITE
.
, , :
close()
. .
find(string [, start])
, , string.
start ,
( 0).
flush([offset, size])
, .
, ,
. offset size,
( ) offset offset +
size, .
move(dest, src, count)
count , src, ,
dest.
read_byte()
,
1.
readline()
, , ( ) .
resize(newsize)
.
newsize .
seek(pos [, whence])
. whence : 0 ( ) , 1
2 .
21.19. mmap
317
size()
, .
tell()
.
write(string)
string , .
.
write_byte(byte)
byte ( 1).
318
22
thread
threading
Queue
22.1
thread
thread , . .
error
, .
LockType
.
start_new_thread(function, args [, kwargs])
function,
args () kwargs ().
exit()
exit_thread()
SystemExit. ( ) , . exit_thread()
.
allocate_lock()
, . .
22.1. thread
319
get_ident()
( ). .
, allocate_lock, :
acquire([waitflag])
() , ,
, ( None). waitflag ( ), : 1
( , ), 0 ( ) ,
. 1,
, 0.
release()
. ,
.
locked()
: 1, (), 0.
:
signal, ( KeyboardInterrupt)
. , signal ,
.
sys.exit() thread.exit()
SystemExit .
, C, /
, (
time.sleep() select.select(), read() ) .
acquire() ,
, KeyboardInterrupt
.
.
finally try .
320
22.2
22.
threading
threading
, thread. from threading import *.
activeCount()
, . , enumerate().
Condition([lock])
, . .
lock, , Lock()
RLock(). . RLock().
currentThread()
, .
threading,
.
enumerate()
, ,
threading ( ).
, , .
Event()
, . ( ) .
Lock()
, .
thread.allocate_lock().
RLock()
, . ,
Lock(), .
,
.
Semaphore([count])
, . count ( 1).
, .
22.2. threading
321
Thread([keyword_list])
.
(keyword_list). ,
,
target , . run() ,
args kwargs ( ). name ; Thread-N, N
.
.
22.2.1
Lock() RLock() , :
acquire([waitflag])
() , ,
, ( None). waitflag ( ), : 1
( , ), 0 ( ) ,
. 1,
, 0.
release()
. .
, RLock(),
.
, Lock(), ( ), ,
RLock(), acquire() , ,
release().
22.2.2
, Condition() ,
.
, , .
322
22.
acquire([...])
release()
, .
wait([timeout])
, , ,
notify() notifyAll(), . None
timeout ( ),
. .
, RLock(),
.
22.2. threading
323
notify()
, , .
notifyAll()
, .
22.2.3
, Semaphore() ,
, (. 22.2.1).
, acquire() release().
, Semaphore().
: acquire()
, ,
release().
22.2.4
, Event() :
. - . , . ( )
.
isSet()
1, ( ).
set()
( ).
, , .
clear()
( ).
wait([timeout])
, , ,
,
set(). None timeout ( ),
.
.
324
22.
22.2.5 ,
Thread , .
: ,
, target run()
. ,
, , . ,
(Thread.__init__()) ,
- .
, , start(). ,
run().
, Thread .
setName() getName().
, join() ,
. , join()
, , .
(daemon).
, .
.
setDaemon() getDaemon().
, .
. , , , threading.
. , join().
start()
( run() ) .
.
run()
,
. .
run() , (
target).
join([timeout])
( )
, .
None timeout ( ), -
22.3. Queue
325
. (
timeout None) .
. , () .
, .
getName()
.
setName(name)
. ,
.
. .
isAlive()
1, .
start() ( run()).
isDaemon()
, ,
.
setDaemon(daemonic)
, , , daemonic: ,
. . , .
.
22.3
Queue
Queue , (FIFO),
.
thread.
Queue(maxsize)
-. maxsize ( ) , .
, maxsize ,
.
Empty
get_nowait() ( get()
block ).
326
22.
Full
put_nowait() ( put()
block ).
Queue :
qsize()
( ).
empty()
1, ( ) , 0.
full()
1, ( )
, 0.
put(item [, block])
. block ,
, . block ,
, ,
Full.
put_nowait(item)
put(item, 0).
get([block])
() . block
, , . block
, ,
, Empty.
get_nowait()
get(0).
, qsize(), empty()
full(): .
327
23
, , , , .
1 .
Python , shelve.
anydbm
DBM.
dumbdbm
, DBM.
dbhash
DBM BSD.
dbm
(n)dbm.
gdbm
gdbm.
whichdb
, DBM .
bsddb
BSD.
23.1
DBM
anydbm DBM
: dbhash ( bsddb), gdbm dbm.
, ,
Python dumbdbm.
dbhash UNIX Windows DBM BSD db.
bsddb.
dbm gdbm UNIX.
, ,
.
1
,
.
, .
328
23.
23.1.1
- :
open(filename [, flag [, mode]])
filename
. , anydbm.open()
whichdb
. anydbm.open()
, .
flag :
r
( ).
w
.
c
. , .
n
( ) .
dbhash.open() , , l, .
gdbm.open() f
: (.
sync() 23.1.3).
mode , , (umask).
0666.
error
, , . ,
, KeyError.
dbhash.error bsddb.error.
anydbm , anydbm ( ) , .
- , ,
except, .
, open() , , : ,
23.1. DBM
329
, has_key() keys().
. , :
close()
.
, dbhash.open() gdbm.open(), , .
23.1.2
,
dbhash.open()
first()
.
, KeyError. first() next() .
next()
. , , ,
:
k, v = db.first()
try:
print k, v
k, v = db.next()
except KeyError:
pass
sync()
.
23.1.3
,
gdbm.open()
firstkey()
.
firstkey() nextkey().
nextkey(key)
, key.
, :
k = db.firstkey()
while k != None:
print k
k = db.nextkey(k)
330
23.
reorganize()
, .
(reorganize()
, ).
sync()
.
23.2
whichdb
, ,
: dbm, gdbm dbhash.
whichdb(filename)
None filename
, () .
(, gdbm),
.
23.3
bsddb BSD
331
n
( )
.
, , l,
.
,
dbopen() BSD db.
hashopen(filename [, flag [, mode [, bsize [, ffactor
[, nelem [, cachesize [, hash [, lorder]]]]]]]])
Hash
.
btopen(filename [, flag [, mode [, btflags [, cachesize
[, maxkeypage [, minkeypage [, psize [, lorder]]]]]]]])
BTree
.
rnopen(filename [, flag [, mode [, rnflags [, cachesize
[, psize [, lorder [, reclen [, bval [, bfname]]]]]]]]])
Record
.
error
, , . ,
, KeyError.
, hashopen(), btopen() rnopen(), , : , , has_key() keys() (
). , :
close()
.
set_location(key)
key , .
, hashopen().
first()
.
, KeyError. first() next() .
332
23.
next()
. , , ,
:
k, v = db.first()
try:
print k, v
k, v = db.next()
except KeyError:
pass
last()
.
, KeyError.
last() previous()
. ,
hashopen().
previous()
.
, hashopen().
sync()
.
:
>>> import bsddb
>>> db = bsddb.btopen(/tmp/spam.db, c)
>>> for i in xrange(10): db[%d % i] = %d % (i*i)
...
>>> db[3]
9
>>> db.keys()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> db.first()
(0, 0)
>>> db.next()
(1, 1)
>>> db.last()
(9, 81)
>>> db.set_location(2)
(2, 4)
>>> db.previous()
(1, 1)
>>> db.sync()
0
333
24
zlib
, , gzip.
gzip
, gzip.
zipfile
zip-.
24.1
zlib , gzip
, , () zlib (http://www.info-zip.org/pub/infozip/zlib/,
RFC 1950). zlib C :
ZLIB_VERSION
.
level
Z_DEFAULT_COMPRESSION, 0 (Z_NO_COMPRESSION) 1
(Z_BEST_SPEED) 9 (Z_BEST_COMPRESSION) :
Z_NO_COMPRESSION
.
Z_BEST_SPEED
.
Z_BEST_COMPRESSION
.
Z_DEFAULT_COMPRESSION
,
. 6.
wbits ( 8 15) 2**wbits.
334
24.
. ( zlib zip-).
MAX_WBITS .
MAX_WBITS.
( method) :
Z_DEFLATED
DEFLATE (. RFC 1951).
:
error
.
adler32(string [, value])
Adler-32 string. , , CRC32,
. value,
, . . Adler-32 ,
.
compress(string [, level])
, string.
compressobj([level [, method [, wbits [, mem_level
[, strategy]]]]])
, . mem_level
: 1 ,
, 9 , . DEF_MEM_LEVEL (8). strategy Z_DEFAULT_STRATEGY, Z_FILTERED
Z_HUFFMAN_ONLY (. zlib C).
crc32(string [, value])
CRC32 (Cyclic Redundancy Check) string.
value, ,
. . CRC32 , .
335
336
24.
flush()
. .
24.2
gzip , gzip
, zlib, ,
GNU gzip. gzip zlib
GzipFile, gzip- (RFC 1952).
, GzipFile . ,
( compress pack), gzip (gunzip).
GzipFile(filename [, mode [, compresslevel [, fileobj]]])
, . GzipFile , , seek() tell().
None fileobj ( ),
/ ( filename
gzip- None),
filename.
mode : rb, ab wb.
rb.
compresslevel,
1 9. 9, .
close() GzipFile fileobj. ,
, getvalue() StringIO.
open(filename [, mode [, compresslevel]])
GzipFile(filename, mode, compresslevel).
24.3
zipfile zip-
, 1.6, zip.
337
error
, zip .
is_zipfile(path)
1, path zip-, 0.
, .
ZipFile(filename [, mode [, compression]])
, / / filename. mode
: r (), w ( ) a (
). r. compression ,
RuntimeError.
PyZipFile(filename [, mode [, compression]])
ZipFile ,
Python.
ZipInfo([filename [, date_time]])
, . filename
( NoName), date_time
( : , , , ,
, ).
(
compression ZipFile):
ZIP_STORED
( ).
ZIP_DEFLATED
zip- .
zlib.
ZipFile PyZipFile
:
namelist()
, .
infolist()
ZipInfo, , .
338
24.
printdir()
(sys.stdout) .
testzip()
.
, None,
.
getinfo(name)
ZipInfo, name.
read(name)
name
.
write(filename [, arcname [, compress_type]])
filename arcname ( ) compress_type (
, ).
writestr(zinfo, bytes)
.
bytes, , , . .
zinfo, ZipInfo.
close()
( ,
).
PyZipFile :
writepy(pathname [, basename])
pathname , .py-
, pathname ,
, pathname .py, . (.py-)
(.pyo .pyc).
ZipInfo () , , :
filename
.
date_time
, : , , , ,
, .
339
340
25
Python
, , Python. () ,
.
pdb
Python.
profile
Python.
pstats
25.1
Python
pdb , Python.
,
, , Python . , .
: Pdb ( ).
(
(Pdb) ):
>>> import pdb
>>> import mymodule
>>> pdb.run(mymodule.test())
> <string>(0)?()
(Pdb) continue
> <string>(1)?()
(Pdb) continue
NameError: "There is no ... named spam"
> <string>(1)?()
(Pdb)
25.1. Python
341
:
>>> import mymodule
>>> mymodule.test()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "mymodule.py", line 2, in test
print spam
NameError: There is no variable named spam
>>> import pdb
>>> pdb.pm()
> mymodule.py(2)test()
-> print spam
(Pdb)
pdb.py
:
/usr/local/lib/python1.5/pdb.py myscript.py
25.1.1
pdb , :
run(statements [, globals [, locals]])
statements ( exec)
. : . globals locals ,
;
__main__ (. 10.3.11).
runeval(expression [, globals [, locals]])
expression (
eval()) ( ) .
run().
runcall(function [, arg1 ...])
function ( , ) (
) , . .
342
25. Python
set_trace()
, .
,
, , .
post_mortem(tb)
tb ( traceback).
pm()
sys.last_traceback.
25.1.2
25.1. Python
343
, PAGER.
command , ! help exec.
w(here)
, .
d(own)
( ).
u(p)
( ).
b(reak) [([filename:]lineno | function) [, condition]]
lineno filename
( ) function.
condition,
, condition .
,
.
.
tbreak [([filename:]lineno | function) [, condition]]
break,
, .
cl(ear) [bpnumber [bpnumber ...]]
(bpnumber), . , .
disable [bpnumber [bpnumber ...]]
, .
enable.
enable [bpnumber [bpnumber ...]]
, .
ignore bpnumber [count]
, bpnumber
count ( 0) .
condition bpnumber [condition]
, : , condition
. condition ,
.
s(tep)
: , .
344
25. Python
n(ext)
. next step , step , next
.
r(eturn)
.
c(ont(inue))
() .
l(ist) [first [, last]]
. 11
, .
, first last , last
first, last , first.
a(rgs)
.
p expression
expression . ,
print Python,
print .
alias [name [command]]
name command. . %1, %2 . . , . .
, name, %* . command , name.
.
command , , .
, .
,
.pdbrc: alias pi for k, v in
%1.__dict__.items(): print "%1.", k, -", v pi,
, alias ps pi self ps, ,
.
unalias name
name.
[!]statements
statements Python . , ,
25.2.
345
( ) .
, global, :
(Pdb) global list_options; list_options = [-l]
(Pdb)
q(uit)
. .
25.2
profile pstats, ,
Python,
.
c 1994, by InfoSeek Corporation, all rights reserved.
Copyright
Permission to use, copy, modify, and distribute this Python software and its associated
documentation for any purpose (subject to the restriction in the following sentence) without
fee is hereby granted, provided that the above copyright notice appears in all copies, and that
both that copyright notice and this permission notice appear in supporting documentation,
and that the name of InfoSeek not be used in advertising or publicity pertaining to distribution
of the software without specific, written prior permission. This permission is explicitly
restricted to the copying and modification of the software to remain in Python, compiled
Python, or other languages (such as C) wherein the modified or derived code is exclusively
imported into a Python module.
INFOSEEK CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL INFOSEEK CORPORATION BE LIABLE FOR
ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
25.2.1
.
, .
, foo() (
foo() ), :
346
25. Python
import profile
profile.run(foo())
(, ),
profile.run():
import profile
profile.run(foo(), fooprof)
profile.py
, :
python /usr/local/lib/python1.5/profile.py myscript.py
pstats. ,
:
import pstats
p = pstats.Stats(fooprof)
pstats.Stats . profile.run()
, ,
. . ,
, :
p.sort_stats(name)
p.print_stats()
10 , ( pstats.Stats
,
):
p.sort_stats(cumulative).print_stats(10)
,
.
, , :
25.2.
347
p.print_stats(__init__)
, , , ,
:
p.print_callers(__init__)
p.print_callees(__init__)
25.2.2
profile
:
run(string [, filename ...])
string ( exec) filename (
sys.stdout).
string, , ( ) .
:
ncalls
( : ,
);
tottime
, , , ;
percall
, , , (tottime/ncalls);
cumtime
,
;
percall
,
(cumtime/ncalls);
filename:lineno(function)
, .
run()
Profile. , profile HotProfile
Profile, ,
, ( cumtime).
348
25. Python
run() pstats.Stats.
25.2.3
pstats
Stats([filename ...])
,
( , ) filename. profile,
(
).
add().
Stats :
strip_dirs()
( ).
, ,
() .
add([filename ...])
.
sort_stats([key ...])
. , . . . , sort_stats(name, file)
, .
, . (
, ):
calls
( );
cumulative
, , , ( );
file
;
module
;
25.2.
349
pcalls
( );
line
;
name
;
nfl
, , ( sort_stats(nfl)
sort_stats(name, file, line) );
stdname
, , ;
time
, , , ( ).
reverse_order()
.
print_stats([restriction ...])
( profile.run()). sort_stats().
.
( ),
0.0 1.0 ( ) ( , ).
, .
print_callers([restriction ...])
, .
, , .
print_stats().
print_callees([restriction ...])
, .
print_stats().
,
.
350
26
Python
. ,
open() ( ,
). , .
, ,
. : Web- (, Grail) ,
Python, Internet .
, ,
.
(restricted execution) . ,
. , , ,
( ) .
Python , , , ,
. , -
, .
, . ,
,
.
open() , IOError,
.
Python
__builtins__ , __builtin__
, , , . ,
. , func_globals
__dict__.
:
26.1. rexec
rexec
Bastion
26.1
351
rexec
RExec, r_eval(),
r_execfile(), r_exec() r_import(),
eval() execfile() exec import. , ,
, .
RExec , - .
, RExec (, ),
.
RExec([hooks [, verbose]])
, . hooks RHooks (
) ,
. hooks None,
( ).
verbose, .
hooks, RPC (Remote
Procedure Call) URL (
Grail).
RExec , .
.
( ).
.
nok_builtin_names
, .
RExec (open, reload, __import__). :
352
26.
class MyRExec(RExec):
...
nok_builtin_names = RExec.nok_builtin_names +
, .
ok_builtin_modules
,
. RExec (audioop, array, binascii,
cmath,
errno,
imageop,
marshal,
math,
md5,
operator, parser, regex, pcre, rotor, select,
strop, struct, time).
ok_path
,
. RExec sys.path
rexec.
ok_posix_names
, os, . RExec (error, fstat, listdir, lstat,
readlink, stat, times, uname, getpid, getppid,
getcwd, getuid, getgid, geteuid, getegid).
ok_sys_names
, sys, . RExec (ps1, ps2, copyright, version,
platform, exit, maxint).
RExec .
r_ s_ , sys.stdin, sys.stderr sys.stdout
.
r_eval(code)
s_eval(code)
Python, code. __main__ .
r_exec(code)
s_exec(code)
__main__ Python,
code.
26.1. rexec
353
r_execfile(filename)
s_execfile(filename)
__main__ Python, filename.
RExec ,
.
, (
r_).
r_import(modulename [, globals [, locals
[, fromlist]]])
s_import(modulename [, globals [, locals
[, fromlist]]])
__import__() (.
12) . ImportError,
.
r_open(filename [, mode [, bufsize]])
s_open(filename [, mode [, bufsize]])
open() (. 12).
r_open()
( r rb). ,
r_open() .
r_reload(module)
s_reload(module)
reload() (. 12)
.
r_unload()
s_unload()
(
sys.modules ).
,
/tmp:
from rexec import RExec
from os.path import normpath, islink
class TmpWriterRExec(RExec):
def r_open(self, file, mode=r, bufsize=-1):
if mode not in (r, rb):
file = normpath(file)
354
26.
if file[:5]!=/tmp/ or islink(file):
raise IOError(
"Cant write outside /tmp")
return open(file, mode, bufsize)
26.2
Bastion
rexec
.
Bastion(object [, filter [, name [, bastionclass]]])
bastionclass (
BastionClass), object, , attr_name filter(attr_name)
. filter, , , (_).
AttributeError. ( repr() ) <Bastion for name>. name
None, name repr(object).
BastionClass(getfunc, name)
( )
bastionclass Bastion() .
getfunc ( function), , , , AttributeError,
. name
.
355
27
Internet
,
Internet.
, .
cgi
CGI ( ), HTML .
urllib
URL.
urlparse
URL.
27.1
cgi CGI
, ,
CGI (Common Gateway Interface, ), Python.
27.1.1
CGI- HTTP-, ,
<FORM> <ISINDEX> HTML. HTTP-
( , URL, .) ,
.
. cgi .
, .
CGI- , . , , . :
# : HTML-
print "Content-Type: text/html"
356
27. Internet
# :
print
# : HTML-
print "<html>"
print "<title> CGI-</title>"
print "<body>"
print "<h1> CGI-</h1>"
print " !"
print "</body>"
print "</html>"
27.1.2
cgi
FieldStorage([**keyword_args])
cgi.
/
CGI1 . , FieldStorage
.
(keyword_args):
fp
( ) , . sys.stdin. GET.
headers
HTTP-.
.
environ
. os.environ.
keep_blank_values
FieldStorage
, ; ,
1
: POST
( URL ?).
357
,
.
strict_parsing
, , . strict_parsing,
ValueError.
, FieldStorage , multipart/formdata.
MiniFieldStorage
, application/x-www-form-urlencoded.
FieldStorage MiniFieldStorage
:
name
None.
filename
, , None.
value
, (
) None. ,
.
file
( ) , ,
None, .
type
( Content-Type) None, .
type_options
, Content-Type.
disposition
( Content-Disposition) None.
disposition_options
, Content-Disposition.
headers
, .
358
27. Internet
359
. getvalue()
. , type() :
value = form.getvalue("username", "")
if type(value) is type([]):
#
usernames = ",".join(value)
else:
#
#
usernames = value
, value
. . , ,
filename file:
fileitem = form["userfile"]
if fileitem.file:
# fileitem .
# ,
# .
linecount = 0
while 1:
if fileitem.file.readline()
linecount += 1
else:
break
HTML- ( multipart/*). , , .
type (obj.type and
obj.type.startswith(multipart/)).
27.1.3
cgi , ,
.
parse([**keyword_args])
/ CGI1 ,
360
27. Internet
.
fp, environ, keep_blank_values strict_parsing,
, FieldStorage (. 27.1.2).
parse_qs(qs [, **keyword_args])
, qs ( application/x-www-form-urlencoded), , .
keep_blank_values strict_parsing,
, FieldStorage (. 27.1.2).
parse_qsl(qs [, **keyword_args])
parse_qs(),
.
parse_multipart(fp, pdict)
multipart/form-data fp
, . pdict
, Content-Type.
, multipart/* . , ,
. FieldStorage .
parse_header(string)
MIME- string , . , string
, Content-Type:
text/plain; encoding=koi8-r text/plain;
encoding=koi8-r.
test()
CGI-, : HTTP- HTML. test()
cgi.py .
print_environ()
HTML.
print_form(form)
, form (
FieldStorage), HTML.
print_directory()
HTML.
print_environ_usage()
, CGI.
361
escape(s [, quote])
&, < > s HTML.
,
. quote,
("),
(, a href= + escape(url, 1) + ).
, log-:
logfile
, log-.
, logfp .
logfp
( ) , log-.
log(format [, *args])
format % args + \n log-, logfile logfp .
, .
27.1.4
27.1.5
CGI-
, CGI- (
cgi-bin). , , HTTP-,
. UNIX
#!,
, :
#!/usr/local/bin/python
362
27. Internet
, UNIX, HTTP-
, ,
Python.
, , , HTTP-, . , , (
PATH PYTHONPATH) , .
, ,
, sys.path , . :
import sys
sys.path.insert(0, "/usr/home/joe/lib/python")
, ,
sys.path. , /usr/home/joe/lib/python, .
27.1.6
, CGI- , ,
. ,
:
.
,
( cgi.py) CGI-,
,
. , cgi.py cgi-bin,
:
http://hostname/cgi-bin/cgi.py?name=Joe&addr=At+Home
404 ;
, .
(, 500)
, , . , ,
( addr At home name
Joe) cgi.py .
test() cgi ,
:
363
import cgi
cgi.test()
, cgi.py.
Python ,
, . (sys.stderr), log-
. ,
import sys
sys.stderr = sys.stdout
try ... except
, :
import cgi
print Content-Type: text/html\n
try:
# CGI-
...
except:
cgi.print_exception(limit=10)
27.2
urllib URL
, . urlopen()
open(), URL (Uniform Resource Locator, ) . , ,
:
seek().
proxy-, . proxy- ,
, (Windows) Internet
Config (Macintosh). UNIX proxy (
) http_proxy, ftp_proxy gopher_proxy URL, proxy- .
364
27. Internet
urlopen(url [, data])
, url. URL
(scheme identifier) file, .
.
, IOError.
HTTP GET. , POST, data
application/x-www-form-urlencoded (.
urlencode() ).
urlretrieve(url [, filename [, reporthook [, data]]])
url . URL
, .
(filename, headers), filename
headers None, url , , info() ,
.
filename , . tempfile.mktemp(). reporthook . ( , )
reporthook
: ,
(-1, ). data
, urlopen().
urlcleanup()
, urlretrieve()2 .
quote(string [, safe])
string
%xx . ,
_, ,, . -. safe
, ;
/.
quote_plus(string [, safe])
quote(), +,
. +
safe, %2b.
unquote(string)
%xx .
2
,
.
365
unquote_plus(string)
unquote(), + , .
urlencode(dict)
dict ( -
-) application/x-www-form-urlencoded. data urlopen()
urlretrieve() open() URLopener
.
.
key=value , &,
key value quote_plus().
, , read(), readline(),
readlines(), fileno() close(), (.
11.7), :
info()
mimetools.Message, . HTTP . FTP
Content-Length ,
.
Date , Content-Length Content-Type
.
geturl()
URL . HTTP- URL. , URL,
.
urlopen() urlretrieve() FancyURLopener. .
FancyURLopener, URLopener .
URLopener([proxies [, **x509]])
, .
- FancyURLopener.
None proxies,
(scheme identifier) URL proxy .
URL proxy- , .
366
27. Internet
HTTPS
(x509) key_file cert_file.
FancyURLopener([proxies [, **x509]])
URLopener HTTP- 301, 302 401.
301 302 Location URL.
401 . ,
URLopener.
URLopener FancyURLopener
:
open(url [, data])
url , , (. ). , proxy- open_scheme(), scheme
( - _),
open_unknown(), . data , urlopen().
open_unknown(url [, data])
URL
. IOError.
retrieve(url [, filename [, reporthook [, data]]])
url . URL
, . (filename, headers), filename
headers None, url
, , info() , (. ).
filename , . tempfile.mktemp(). reporthook . ( , )
reporthook
: ,
(-1, ). data
, urlopen().
version
, HTTP-. Python-urllib/urllib_ver, urllib_ver
367
urllib. version , , .
, URL (scheme identifier) , FTP .
.
. , urllib .
GET
HTTP:
>>>
>>>
...
...
>>>
...
...
>>>
import urllib
params = urllib.urlencode({spam : 1,
eggs : 2,
bacon: 0})
f = urllib.urlopen(
"http://www.musi-cal.com/cgi-bin/query?" +
params)
print f.read()
, POST:
>>>
>>>
...
...
>>>
...
...
>>>
27.3
import urllib
params = urllib.urlencode({spam : 1,
eggs : 2,
bacon: 0})
f = urllib.urlopen(
"http://www.musi-cal.com/cgi-bin/query?",
params)
print f.read()
urlparse URL
368
27. Internet
.
scheme://netloc/path;parameters?query#fragment
(scheme, netloc, path, parameters, query, fragment).
URL - , .
, :
>>> import urlparse
>>> urlparse.urlparse(
...
http://www.cwi.nl:80/%7Eguido/Python.html)
(http, www.cwi.nl:80, /%7Eguido/Python.html, ,
, )
default_scheme, (scheme identifier) ,
URL .
allow_fragments, URL ( ) .
urlunparse(tuple)
URL , tuple.
urlparse() urlunparse()
(, URL ), URL.
urljoin(base, rel_url [, allow_fragments])
URL, URL base URL rel_url. :
>>> urljoin(
...
http://www.cwi.nl/%7Eguido/Python.html,
...
FAQ.html)
http://www.cwi.nl/%7Eguido/FAQ.html
allow_fragments, URL ( ) .
369
28
,
Internet
, , Internet. ,
, 29.
rfc822
( RFC 822).
mimetools
MIME.
MimeWriter
MIME.
multifile
, (, MIME).
xdrlib
XDR .
28.1
rfc822
370
28. , Internet
seekable 1, seek() tell()
tell().
. , seekable , file
(, ).
, , CR-LF
LF; CR-LF LF.
AddressList(field)
, , RFC 822,
. field None,
.
parsedate(date)
, RFC 822 (, Mon, 20 Nov 1995 19:12:08 -0500).
,
.
,
time.mktime() (
time), None. , 6, 7 8
.
parsedate_tz(date)
parsedate(), None, . ,
. ,
time.timezone
(time.timezone POSIX, RFC 822). date ,
None. , 6, 7 8
.
mktime_tz(tuple)
(,
parsedate_tz()) , (UTC timestamp).
tuple None, ,
tuple .
.
formatdate([tuple])
tuple (
time),
RFC 822 RFC 1123.
Message ( )
28.1. rfc822
371
372
28. , Internet
getaddr(name)
( )
, name. , (None, None). , , m, jack@cwi.nl (Jack
Jansen) ( Jack Jansen <jack@cwi.nl>), m.getaddr(From)
(Jack Jansen, jack@cwi.nl).
getaddrlist(name)
getaddr(), ( ) name (, To
Cc)
. ,
.
getdate(name)
name
(.
parsedate()) None, (
parsedate()).
getdate_tz(name)
getdate(), ;
(. parsedate_tz()) None.
headers
.
.
( ) .
fp
( ) , .
.
AddressList ( a b)
(. 9.7.3) :
len(a)
.
str(a)
( ) . "name" <e_mail>.
a + b
AddressList , ( ).
373
a - b
AddressList ,
a, b ( ).
, AddressList :
addresslist
( ) :
.
28.2
mimetools MIME
Message, rfc822.Message,
, MIME (Multipurpose
Internet Mail Extensions, ).
Message(fp [, seekable])
rfc822.Message
, .
, rfc822.Message (. rfc822).
choose_boundary()
, . IP-, , , ,
, , .
decode(input, output, encoding)
MIME- encoding input output. encoding
: base64, quoted-printable, uuencode
( x-uuencode, uue
x-uue), 7bit 8bit.
encode(input, output, encoding)
input, MIME- encoding
output. encoding
, decode().
copyliteral(input, output)
input ( )
output.
374
28. , Internet
copybinary(input, output)
input ( )
output.
8192 .
Message rfc822.Message
:
getplist()
() content-type. name=value name .
, Content-type: text/html;
spam=1; Spam=2; Spam, getplist() [spam=1,
spam=2, Spam].
getparam(name)
(value) name=value ( )
content-type. "value" <value>, .
getencoding()
, contenttransfer-encoding. , 7bit. .
gettype()
_/,
content-type. , text/plain.
.
getmaintype()
, content-type. ,
text. .
getsubtype()
, content-type. ,
plain. .
28.3
MimeWriter MIME
MimeWriter, , , MIME-:
375
MimeWriter(fp)
MIME- fp (
).
MimeWriter :
addheader(name, value [, prefix])
name value.
prefix , : 0 ( ) , 1 .
flushheaders()
( addheader()) . ,
() , ,
message/rfc822, , .
startbody(ctype [, plist [, prefix]])
, ,
() . ctype , content-type ( ).
plist, (name, value),
contenttype. prefix , addheader(),
0 ( ).
startmultipartbody(subtype [, boundary [, plist [, prefix]]])
, ,
, . multipart, boundary
(
mimetools.choose_boundary()), plist content-type. prefix ,
startbody().
nextpart().
nextpart()
MimeWriter, multipart/*. , ,
, . nextpart() startmultipartbody().
lastpart()
,
( multipart/*).
376
28. , Internet
28.4
multifile ,
MultiFile, ,
: readline()
.
MIME, , ,
.
MultiFile(fp [, seekable])
, . fp
( ) , . fp
readline(), seek() tell(). .
seekable, seek() tell() fp .
Error
.
MultiFile
: , .
, .
.
MultiFile :
push(str)
. , , ,
.
MultiFile ,
pop()
next().
, ,
( , Error).
readline()
.
.
( ), Error.
28.4. multifile , . . .
377
readlines()
.
read()
.
next()
, , 0, (
) 1.
pop()
.
seek(pos [, whence])
. ,
seek() (. 11.7).
tell()
.
is_data(str)
1, str
( ), ( ) 0.
, --
( MIME).
:
0, , .
section_divider(str)
str ( ,
) , . , --
( MIME). ,
.
end_marker(str)
str ( ,
) , . , --
( MIME). ,
.
, MultiFile :
378
28. , Internet
level
.
last
(1), .
, (
MIME) , (
, ):
import mimetools
import multifile
import StringIO
def extract_mime_part_matching(stream, mimetype):
msg = mimetools.Message(stream)
msgtype = msg.gettype()
params = msg.getplist()
data = StringIO.StringIO()
if msgtype.startswith(multipart/):
file = multifile.MultiFile(stream)
file.push(msg.getparam(boundary))
while file.next():
submsg = mimetools.Message(file)
try:
data = StringIO.StringIO()
mimetools.decode(file, data,
submsg.getencoding())
except ValueError:
continue
if submsg.gettype() == mimetype:
break
file.pop()
return data.getvalue()
28.5
xdrlib XDR
379
( ) 20.
: XDR-
.
Packer()
XDR-.
Unpacker(data)
XDR-,
( , ) data.
Packer :
get_buffer()
( ).
reset()
.
pack_uint(value)
pack_int(value)
pack_enum(value)
pack_bool(value)
pack_uhyper(value)
pack_hyper(value)
pack_float(value)
pack_double(value)
XDR- value
.
pack_fstring(n, s)
pack_fopaque(n, s)
XDR- s n. , . ,
4 .
pack_string(s)
pack_opaque(s)
pack_bytes(s)
XDR- s (
, ).
pack_list(list, pack_item)
XDR- list,
380
28. , Internet
. 1 ( ), , () pack_item.
0 ( ).
, :
import xdrlib
p = xdrlib.Packer()
p.pack_list([1, 2, 3], p.pack_int)
381
unpack_uint()
unpack_int()
unpack_enum()
unpack_bool()
unpack_uhyper()
unpack_hyper()
unpack_float()
unpack_double()
XDR- .
unpack_fstring(n)
unpack_fopaque(n)
XDR-
n. ,
4 .
.
unpack_string()
unpack_opaque()
unpack_bytes()
XDR- . , .
.
unpack_list(unpack_item)
XDR-
. , 1 , 0. ()
unpack_item, .
unpack_farray(n, unpack_item)
XDR- n.
() unpack_item,
.
unpack_array(unpack_item)
XDR- . , .
() unpack_item,
.
:
382
28. , Internet
Error
. msg, .
ConversionError
unpack_*()
Unpacker, XDR- , pack_*() Packer,
.
383
29
, , : SGML (Standard Generalized Markup Language, ), HTML (Hypertext Markup Language,
) XML (Extensible Markup Language, ).
sgmllib
SGML (,
HTML).
htmllib
HTML-.
htmlentitydefs
HTML.
xml.parsers.expat
xml.sax
SAX2 XML.
xml.sax.handler
SAX-.
xml.sax.saxutils
,
SAX.
xml.sax.xmlreader
, XML SAX-.
xmllib
XML-.
29.1
sgmllib SGML-
SGMLParser()
384
29.
, SGML. :
=""...> </> .
<
&#;.
(entity) &;.
<!---->.
SGMLParser ( ,
, , DTD):
reset()
. . .
setnomoretags()
.
(CDATA).
<PLAINTEXT> HTML.
setliteral()
.
(CDATA).
feed(data)
data .
, ,
close().
close()
.
, .
.
get_starttag_text()
.
.
handle_starttag(tag, method, attributes)
,
start_tag() do_tag(). tag ,
, method ,
. attributes
(name, value) , , name , , value
. method(attributes).
385
handle_endtag(tag, method)
,
end_tag(). tag , , method , . method().
handle_data(data)
.
: .
handle_charref(ref)
&#ref;. 0 255
chr() handle_data(). ref ,
unknown_charref(ref) .
handle_entityref(ref)
&ref;. ( ) entitydefs,
.
ref, handle_data() , unknown_entityref(ref).
entitydefs amp, apos, gt, lt
quot.
handle_comment(comment)
. comment , <!-- -->.
.
report_unbalanced(tag)
, tag,
.
unknown_starttag(tag)
( start_tag() do_tag()).
: .
unknown_endtag(tag)
( end_tag()).
: .
unknown_charref(ref)
&#ref; (. handle_charref()).
: .
386
29.
unknown_entityref(ref)
&ref; (. handle_entityref()). : .
, .
:
( tag ,
, , ).
attributes (name, value) , , name ,
, value .
start_tag(attributes)
tag. do_tag().
do_tag(attributes)
tag,
.
end_tag()
tag.
, . ,
start_tag(). end_tag() .
, do_tag() unknown_tag()
end_tag() .
29.2
htmllib HTML-
HTMLParser ( sgmllib.SGMLParser),
, HTML (Hypertext Markup Language, ). HTML 2.01 .
HTMLParser , . formatter
(
, ).
1
http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_toc.html
387
HTMLParser(formatter)
, HTML.
,
HTML 2.0 ( htmlentitydefs),
HTML 2.0 HTML 3.0 3.2.
, ( sgmllib.SGMLParser), HTMLParser :
formatter
, ,
.
nofill
,
handle_data() save_end(),
.
<pre>.
anchor_bgn(href, name, type)
, . <a> ( , ). , , ,
anchorlist.
anchor_end()
, . [index], index
( anchorlist).
handle_image(src, alt [, ismap [, align [, width
[, height]]]])
. <img> ( width height
). handle_data(alt).
save_bgn()
, , , ( formatter ).
save_end().
save_end()
,
, . nofill
, .
388
29.
29.3
htmlentitydefs HTML
29.4
xml.parsers.expat pyexpat.
pyexpat .
29.4. xml.parsers.expat . . .
389
<?xml version="1.0"?>
<root xmlns
= "http://default-namespace.org/"
xmlns:py = "http://www.python.org/ns/">
<py:elem1 />
<elem2 xmlns="" />
</root>
StartElementHandler()
:
http://default-namespace.org/ root
http://www.python.org/ns/ elem1
elem2
error
, XML- .
errors
, XML_ERROR_* . ErrorCode , -
ParserCreate().
XMLParserType
, ParserCreate().
, - ParserCreate(), :
Parse(data [, isfinal])
data, .
isfinal .
ParseFile(file)
,
file ( read() , , ).
SetBase(base)
, URI : base ExternalEntityRefHandler, NotationDeclHandler
UnparsedEntityDeclHandler.
GetBase()
,
SetBase(), None, SetBase() .
, - ParserCreate(), :
390
29.
returns_unicode
1 ( ), -,
, Unicode, 0 , UTF-8.
, .
.
, Parse() ParseFile() error.
ErrorByteIndex
( ), , .
ErrorCode
.
ErrorString() , errors.
ErrorColumnNumber
, .
ErrorLineNumber
, .
,
obj obj.handler = func, handler
func ,
. , ,
.
StartElementHandler(name, attributes)
. name
attributes , .
EndElementHandler(name)
. name
.
ProcessingInstructionHandler(name, data)
(PI, Processing Instruction)
<?name data?> ( <?xml data?>).
CharacterDataHandler(data)
.
UnparsedEntityDeclHandler(entityName, base, systemId,
publicId, notationName)
(NDATA).
29.4. xml.parsers.expat . . .
391
392
29.
p = expat.ParserCreate()
p.returns_unicode = 0
p.StartElementHandler = start_element
p.EndElementHandler = end_element
p.CharacterDataHandler = char_data
p.Parse("""\
<?xml version="1.0"?>
<parent id="top">
<child1 name="paul">Text goes here</child1>
<child2 name="fred">More text</child2>
</parent>""")
:
: parent {id: top}
: child1 {name: paul}
: Text goes here
: child1
: \012
: child2 {name: fred}
: More text
: child2
: \012
: parent
29.5
SAX
(
xml.sax.xmlreader.XMLReader ), XML-.
.
parser_list ( ), ,
.
parse(filename_or_stream, handler [, error_handler])
,
XML-,
393
filename_or_stream.
filename_or_stream ( )
. handler
ContentHandler, .
error_handler (
ErrorHandler) ,
SAXParseException.
parseString(string, handler [, error_handler])
parse(), XML-, string.
SAX- , , SAX-, -
, XML-. , . InputSource, Locator, + AttributesImpl XMLReader
xml.sax.xmlreader, xml.sax.handler. xml.sax
InputSource, ContentHandler ErrorHandler.
:
SAXException
.
SAXException
, , , .
getMessage() getException() ( None).
SAXParseException
XML-.
SAXParseException getColumnNumber(),
getLineNumber(), getPublicId() getSystemId(), , , ,
, None.
SAXNotRecognizedException
,
.
SAXNotSupportedException
, .
SAXReaderNotAvailable
,
394
29.
,
.
29.6
xml.sax.handler SAX-
29.6. xml.sax.handler . . .
395
feature_validation
DTD.
feature_external_ges
.
feature_external_pes
, DTD.
all_features
, .
property_lexical_handler
(, ).
2.0 .
property_declaration_handler
, DTD (
). 2.0 .
property_dom_node
,
(DOM).
.
property_xml_string
, .
.
all_properties
.
29.6.1
ContentHandler
ContentHandler :
setDocumentLocator(locator)
XML- . locator ( xml.sax.xmlreader.Locator)
.
. , locator
.
startDocument()
.
396
29.
endDocument()
(
, ).
startPrefixMapping(prefix, uri)
. : XML- prefix URI uri , feature_namespaces ( ). startPrefixMapping() startElement(),
startPrefixMapping() .
endPrefixMapping(prefix)
.
endPrefixMapping()
endElement(),
endPrefixMapping() .
startElement(name, attrs)
( ). name ,
attrs xml.sax.xmlreader.AttributesImpl, .
endElement(name)
( ).
name .
startElementNS(name, qname, attrs)
( ).
name , URI , qname
( None,
feature_namespaces) attrs
xml.sax.xmlreader.AttributesNSImpl, .
endElementNS(name, qname)
( ).
name , URI , qname
( None,
feature_namespaces).
characters(content)
( content).
. ,
. content
, Unicode.
29.6. xml.sax.handler . . .
397
ignorableWhitespace(whitespace)
( whitespace) , .
. ,
.
processingInstruction(target, data)
<?target data?>.
<?xml ...>.
skippedEntity(name)
,
(,
DTD).
29.6.2
DTDHandler
DTDHandler :
notationDecl(name, publicId, systemId)
(<!NOTATION ...>).
unparsedEntityDecl(name, publicId, systemId, ndata)
(NDATA).
29.6.3
ErrorHandler
ErrorHandler :
error(exception)
, . exception.
fatalError(exception)
, , .
exception.
warning(exception)
.
(sys.stdout) exception.
398
29.6.4
29.
EntityResolver
EntityResolver :
resolveEntity(publicId, systemId)
. ,
xml.sax.xmlreader.InputSource, . systemId.
29.7
xml.sax.saxutils
, SAX
(, 2.0) ,
, SAX.
escape(data [, entities])
&, < > data .
, entities ,
.
XMLGenerator([out [, encoding]])
ContentHandler, SAX- XML-. ,
XMLGenerator , XML-, .
( ) out,
sys.stdout. encoding
( iso-8859-1).
XMLFilterBase(base)
base ( xml.sax.xmlreader.XMLReader
), XML-, SAX-. . , .
prepare_input_source(source [, base])
xml.sax.xmlreader.InputSource,
. source , ( )
29.8. xml.sax.xmlreader , . . .
399
29.8
xml.sax.xmlreader , XML
XML- SAX-
Python, create_parser(), -.
xml.sax.make_parser() .
XML- ,
XMLReader.
xml.sax.xmlreader :
XMLReader()
XML-. SAX-.
IncrementalParser()
parse() , . , .
IncrementalParser() parse(), . .
Locator()
, SAX .
InputSource([systemId])
, : , ,
. , .
AttributesImpl(attrs)
startElement() . attrs
.
400
29.
AttributesNSImpl(attrs, qnames)
AttributesImpl, startElement() . attrs qnames
,
URI ,
.
29.8.1
XMLReader
XMLReader :
parse(source)
XML-, . source
( URL), ( ) InputSource.
getContentHandler()
, , ( xml.sax.handler.ContentHandler ).
setContentHandler(handler)
handler , , ( xml.sax.handler.ContentHandler
). ( ) , .
getDTDHandler()
, , DTD
( xml.sax.handler.DTDHandler ).
setDTDHandler(handler)
handler , ,
DTD ( xml.sax.handler.DTDHandler ). ( ) ,
.
getEntityResolver()
, ( xml.sax.handler.EntityResolver
).
setEntityResolver(resolver)
resolver ,
( xml.sax.handler.EntityResolver
29.8. xml.sax.xmlreader , . . .
401
). ( ) , , (
).
getErrorHandler()
(
xml.sax.handler.ErrorHandler ).
setErrorHandler(handler)
handler . ( ) ,
(sys.stdout).
setLocale(locale)
.
getFeature(featurename)
featurename.
, SAXNotRecognizedException.
xml.sax.handler.
setFeature(featurename, value)
featurename.
SAXNotRecognizedException,
SAXNotSupportedException.
getProperty(propertyname)
propertyname.
, SAXNotRecognizedException.
xml.sax.handler.
setProperty(propertyname, value)
propertyname.
SAXNotRecognizedException,
SAXNotSupportedException.
29.8.2
IncrementalParser
IncrementalParser XMLReader, :
feed(data)
data.
402
29.
close()
.
reset()
close()
.
29.8.3
Locator
Locator :
getColumnNumber()
, , (-1, ).
getLineNumber()
, , (-1, ).
getPublicId()
(None, ).
getSystemId()
(None, ).
29.8.4
InputSource
InputSource :
setPublicId(id)
id.
getPublicId()
.
setSystemId(id)
id.
getSystemId()
.
setEncoding(encoding)
. encoding ,
29.8. xml.sax.xmlreader , . . .
403
XML-. , , .
getEncoding()
None, .
setByteStream(bytefile)
( , ), .
setEncoding. , , ( ) Unicode.
getByteStream()
, .
getEncoding.
setCharacterStream(charfile)
( ,
Unicode), .
getCharacterStream()
, .
29.8.5
AttributesImpl AttributesNSImpl
404
29.
getType(name)
name ( CDATA).
getValue(name)
name.
getValueByQName(qname)
qname.
AttributesImpl getValue().
getNameByQName(qname)
( ) qname.
AttributesImpl
KeyError.
getQNameByName(name)
name.
AttributesImpl KeyError.
getQNames()
.
AttributesImpl getNames().
29.9
xmllib XML-
xmllib xml.sax.
XMLParser,
, XML3 (Extensible
Markup Language, ).
XMLParser([**keyword_args])
,
XML.
(keyword_args):
accept_unquoted_attributes
, , . 0.
accept_missing_endtag_name
, (</>). 0.
3
http://www.w3.org/TR/REC-xml, http://www.w3.org/XML/
405
map_case
,
. 0.
accept_utf8
,
UTF-8. 0.
translate_attribute_references
,
. 1.
XMLParser ,
(DTD):
attributes
,
( None,
).
.
elements
( , ), None,
unknown_starttag() unknown_endtag().
.
entitydefs
. , lt, gt, amp, quot apos
( ).
reset()
. . .
setnomoretags()
. (CDATA).
setliteral()
.
(CDATA). ,
.
feed(data)
data .
406
29.
, ,
close().
close()
.
, .
.
translate_references(data)
(&#ref;) (&ref;)
data .
getnamespace()
( ) URI (Uniform Resource Identifier,
).
handle_xml(encoding, standalone)
<?xml ...?>. ( None
no ). .
handle_doctype(tag, pubid, syslit, data)
. tag
, pubid ( None, ), syslit
data DTD (Document Type
Definition, ) None,
DTD. .
handle_starttag(tag, method, attributes)
, elements. tag , method (), , attributes , , , (
). , <A
HREF="http://www.cwi.nl/ obj.handle_starttag(A,
obj.elements[A][0], {HREF: http://www.cwi.nl/}).
handle_starttag method(attributes).
handle_endtag(tag, method)
, elements. tag , method (), . , </A>
obj.handle_endtag(A, obj.elements[A][1]).
handle_endtag method().
407
handle_data(data)
.
: .
handle_charref(ref)
&#ref;. 0 255
chr() handle_data(). ref ,
unknown_charref(ref) .
handle_comment(comment)
. comment , <!-- -->.
.
handle_cdata(data)
CDATA ( <![CDATA[ ]]>).
:
.
handle_proc(name, data)
(PI, Processing Instruction) <?name
data?>. , <?xml data?> handle_xml().
handle_proc() : .
handle_special(data)
<!data>. , <!DOCTYPE ...>
handle_doctype().
handle_special() : .
syntax_error(message)
, ,
(
RuntimeError).
message , . RuntimeError.
unknown_starttag(tag)
. : .
unknown_endtag(tag)
. : .
408
29.
unknown_charref(ref)
&#ref;. :
.
unknown_entityref(ref)
&ref;. :
syntax_error() .
xmllib XML. (, ), , URI, ,
, . , <html xmlns=http://www.w3.org/TR/REC-html40>
http://www.w3.org/TR/REC-html40 html
<html:a href=http://frob.com> http://www.w3.org/TR/REC-html40 a
http://www.w3.org/TR/REC-html40 href.
409
30
fileinput
ConfigParser
shlex
cmd
calendar
,
cal.
30.1
fileinput
fileinput , , / , .
:
import fileinput
for line in fileinput.input():
process(line)
, (sys.argv[1:]), ,
. -
sys.stdin. (
) input().
, .
410
30.
30.1. fileinput
411
inplace,
, backup ( .bak) , , .
,
, , , print. .
(in-place filtering) .
MS-DOS,
.
FileInput ,
( for), :
filename()
, . ,
( nextfile()), None.
<stdin>.
lineno()
. ,
(
nextfile()), 0.
filelineno()
. ,
( nextfile()), 0.
isfirstline()
1,
, 0.
isstdin()
1,
(sys.stdin), 0.
nextfile()
. ,
, .
.
close()
.
readline()
.
412
30.
, obj.readline() for line in obj
( RuntimeError).
30.2
ConfigParser
ConfigParser([defaults])
, . defaults :
, , %()s. , __name__ ,
.
MAX_INTERPOLATION_DEPTH
.
: .
:
Error
, , .
NoSectionError
( section ) .
30.2. ConfigParser
413
DuplicateSectionError
( section ) .
NoOptionError
( option )
( section).
InterpolationError
%()s
( reference , section option).
InterpolationDepthError
(MAX_INTERPOLATION_DEPTH)
(
section option
).
MissingSectionHeaderError
. , , ,
filename, lineno line .
ParsingError
. filename errors
, .
ConfigParser :
defaults()
.
sections()
. DEFAULT .
add_section(section)
section. ,
DuplicateSectionError.
has_section(section)
1, section, 0.
DEFAULT .
options(section)
section.
414
30.
has_option(section, option)
1, section
option, 0. , 1.6.
read(filenames)
. filenames
, .
readfp(fp [, filename])
,
( ) fp ( readline()).
filename .
filename , fp.name <???>,
fp name.
get(section, option [, raw [, vars]])
option section. raw , get() , %.
, vars.
, vars
, .
getint(section, option)
option section .
getfloat(section, option)
option section
.
getboolean(section, option)
option section 0
1.
0 1, ValueError.
set(section, option, value)
section,
option value. section DEFAULT, value option .
NoSectionError. set()
, 1.6.
write(fp)
, ( ) fp. , 1.6.
remove_option(section, option)
option section. section DEFAULT, option .
30.3. shlex
415
, section ,
NoSectionError. , 1,
0. remove_option() , 1.6.
remove_section(section)
section. , 1,
0.
30.3
shlex
shlex, , ,
UNIX shell. -, , , (.
ConfigParser).
shlex([stream [, file]])
, .
stream ( ,
read() readline()) ,
sys.stdin. file,
( infile).
shlex :
get_token()
. (
push_token()) .
.
push_token(str)
str .
read_token()
( ) .
.
sourcehook(filename)
.
filename , (
source). sourcehook() ,
( ) .
416
30.
error_leader([file [, line]])
"file", line line: .
file / line ,
.
Emacs UNIX.
shlex , :
commenters
, .
.
#.
wordchars
, . ,
.
whitespace
, ( ). \t\r\n.
quotes
, . , ,
( ,
). .
infile
( None, ). .
instream
, .
source
None. ,
. source ,
. .
debug
, , . debug 0,
.
lineno
(
1).
30.4. cmd
417
token
. .
, , wordchars, whitespace
quotes, . ,
,
. , aint ain#d\nt
"aint".
30.4
cmd
Cmd,
, . Python ( pdb).
Cmd()
.
, .
Cmd :
cmdloop([intro])
: ,
, , .
intro () ,
intro.
foo ,
do_foo(). ? ! help
shell , EOF.
do_help bar
help_bar(). do_help() ,
(
help_*()), . Cmd do_shell() do_EOF().
do_*() None. ( postcmd() ), .
onecmd(str)
str,
.
418
30.
emptyline()
, .
.
default(line)
, (
do_*()). .
precmd(line)
( line). .
postcmd(stop, line)
. stop line ,
do_*(), , precmd(). , , ,
. stop .
preloop()
(
cmdloop()) . .
postloop()
. .
prompt
, .
(Cmd) .
identchars
,
. , 1 .
lastcmd
, (
).
intro
, , . ,
cmdloop() , None.
doc_header
( do_*() help_*()).
1
30.5. calendar
419
misc_header
, ( ,
help_*(), do_*()).
undoc_header
( do_*(), help_*()).
ruler
, .
, . ruler
=.
30.5
calendar
, cal. , . , ,
setfirstweekday().
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
0 () 6 (),
.
setfirstweekday(weekday)
weekday ( 0 6) . ,
:
import calendar
calendar.setfirstweekday(calendar.SUNDAY)
firstweekday()
0 6, , (
) .
isleap(year)
1, year ( ) , 0.
420
30.
leapdays(y1, y2)
y1 y2 - 1 ().
weekday(year, month, day)
, . year
(. time), month ( 1 12)
day ( 1 31). ,
2000 , 13 :
>>> from calendar import weekday, FRIDAY
>>> for month in xrange(1, 13):
...
if weekday(2000, month, 13)==FRIDAY:
...
print month
...
10
monthrange(year, month)
, ( 0
6) ( year) (
month).
monthcalendar(year, month)
( ),
( year) ( month).
. , , .
,
setfirstweekday().
month(theyear, themonth [, datewidth [, linesperweek]])
( theyear) ( themonth). datewidth
linesperweek ,
.
prmonth(theyear, themonth [, datewidth [, linesperweek]])
(sys.stdout) . , month().
calendar(year [, datewidth [, linesperweek [, spaces]]])
year. datewidth, linesperweek spaces ,
, , .
prcal()
(sys.stdout) .
, calendar().
30.5. calendar
421
timegm(time_tuple)
, ( 1970 ) ,
time_tuple (. time).
425
Python
:
python [options] [-c command | file | -] [arguments]
python ( , , , ), options , command
Python, file Python arguments
, sys.argv[1:].
:
-d
. PYTHONDEBUG (.
).
-i
, .
PYTHONINSPECT (. ).
-O
-.
PYTHONOPTIMIZE (. ).
-OO
( -O) - .
-S
site .
-t
.
426
A. . . .
-tt
TabError .
-u
.
PYTHONUNBUFFERED (. ). CGI-.
-U
Unicode, ... u.... , - , .
, 1.6.
-v
. PYTHONVERBOSE
(. ).
-x
.
,
UNIX.
-X
. 1.6, .
-h
.
, 2.0.
-V
. , 2.0.
,
:
PYTHONDEBUG
, .
PYTHONINSPECT
,
,
.
427
PYTHONOPTIMIZE
, -.
PYTHONUNBUFFERED
,
. CGI-.
PYTHONVERBOSE
, .
PYTHONSTARTUP
, .
PYTHONPATH
, ;, .
sys.path (. sys).
PYTHONHOME
sys.prefix
,
sys.exec_prefix.
prefix[;exec_prefix] (. sys).
428
:
NAME
().
NUMBER
.
STRING
.
NEWLINE
( ),
.
ENDMARKER
().
INDENT
.
DEDENT
.
:
single_input
.
file_input
, .
eval_input
-, eval() ,
input().
single_input:
NEWLINE |
simple_stmt |
compound_stmt NEWLINE
429
file_input:
eval_input:
funcdef:
parameters:
( [varargslist] )
varargslist:
fpdef:
NAME | ( fplist )
fplist:
stmt:
simple_stmt | compound_stmt
simple_stmt:
small_stmt:
expr_stmt:
augassign:
+= | -= | *= | /= | %= | &=
| |= | ^= | <<= | >>= | **=
print_stmt:
del_stmt:
del exprlist
pass_stmt:
pass
flow_stmt:
break_stmt | continue_stmt |
return_stmt | raise_stmt
break_stmt:
break
430
B.
continue_stmt:
continue
return_stmt:
return [testlist]
raise_stmt:
import_stmt:
import dotted_as_name
(, dotted_as_name)* |
from dotted_name import
(* | import_as_name
(, import_as_name)*)
NAME (. NAME)*
global_stmt:
exec_stmt:
assert_stmt:
compound_stmt:
if_stmt:
if test : suite
(elif test : suite)*
[else : suite]
while_stmt:
for_stmt:
try_stmt:
(try : suite
(except_clause : suite)+
[else : suite] |
try : suite
finally : suite)
except_clause:
431
suite:
simple_stmt |
NEWLINE INDENT stmt+ DEDENT
test:
and_test:
not_test:
comparison:
comp_op:
expr:
xor_expr (| xor_expr)*
xor_expr:
and_expr (^ and_expr)*
and_expr:
shift_expr:
arith_expr:
term:
factor:
(+ | - | ~) factor | power
power:
atom:
( [testlist] ) |
[ [listmaker] ] |
{ [dictmaker] } |
testlist |
NAME | NUMBER | STRING+
listmaker:
lambdef:
trailer:
( [arglist] ) |
[ subscriptlist ] | . NAME
subscriptlist:
subscript:
. . . | test |
432
B.
[test] : [test] [sliceop]
sliceop:
: [test]
exprlist:
testlist:
dictmaker:
classdef:
arglist:
argument:
[test =] test
list_iter:
list_for | list_if
list_for:
list_if:
if test [list_iter]
433
anydbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
atexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
B
Bastion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
bisect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
bsddb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
C
calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
cgi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
cmath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
codecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
ConfigParser . . . . . . . . . . . . . . . . . . . . . . . . . . 412
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
cStringIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
D
dbhash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
dbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
dumbdbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
E
errno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
F
filecmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
fileinput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409
fnmatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
G
gc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
gdbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
getopt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
getpass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
gettext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
glob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
H
htmlentitydefs . . . . . . . . . . . . . . . . . . . . . . . . 388
htmllib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
I
imp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
M
marshal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
mimetools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
MimeWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
mmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
multifile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376
O
operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
os.path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
P
pdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
pickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
popen2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
pprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
pstats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Q
Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
R
random . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
repr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
rexec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
rfc822 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
S
sched . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
sgmllib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
shelve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
shlex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
shutil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
stat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
statvfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
StringIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
434
struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
T
tempfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
threading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320
time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
traceback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208
types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
U
urllib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
urlparse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
user . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
UserDict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
UserList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
UserString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
W
whichdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
whrandom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
X
xdrlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
xml.parsers.expat . . . . . . . . . . . . . . . . . . . . 388
xml.sax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
xml.sax.handler . . . . . . . . . . . . . . . . . . . . . . 394
xml.sax.saxutils . . . . . . . . . . . . . . . . . . . . . 398
xml.sax.xmlreader . . . . . . . . . . . . . . . . . . . . 399
xmllib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Z
zipfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
zlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
435
(), . . . . . . .46, 107, 148, 149, 156
*
. . . 27, 108, 133, 135, 161, 204, 205
. . .43, 44,
46, 107
import . . . . . . . . . . . 60, 66, 118
**
. . . . . . . . . . . . . . . . . . . . . . 108, 134, 161
. . 44, 46,
108
**=, . . . . . . . . . . . . . . . . . . . . . . . 114
*=, . . . . . . . . . . . . . . . . . . . . 114, 162
+
. . 27, 108, 133, 135, 161,
204, 205
. . . . . . . .108, 134, 160, 204
+=, . . . . . . . . . . . . . . . . . . . . 114, 162
. . . . . . 108, 133, 161, 204
. . . . . . . .108, 134, 160, 204
-=, . . . . . . . . . . . . . . . . . . . . 114, 162
., . . . . . . . . . 83, 85, 86, 106, 151, 155
... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
.pdbrc, . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
.pythonrc.py, . . . . . . . . . . . . . . . . 22, 191
/, . . . . . . . . . . . . . . . . 108, 134, 161, 204
/=, . . . . . . . . . . . . . . . . . . . . 114, 162
<, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
<=, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
<>, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
<<, . . . . . . . . . . . . . . .108, 134, 161, 205
<<=, . . . . . . . . . . . . . . . . . . 114, 162
=, . . . . . . . . . . . . . . . . . . . . . . 24, 113
==, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
>, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
>=, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
>>, . . . . . . . . . . . . . . . . . . . .108, 134, 161
>>=, . . . . . . . . . . . . . . . . . . 114, 162
[], 28, 107, 135, 145147, 157, 166,
206
%, . . 68, 108, 134, 137, 159, 161, 204
%=, . . . . . . . . . . . . . . . . . . . . . . . . . 114
&, . . . . . . . . . . . . . . . . 108, 134, 161, 205
&=, . . . . . . . . . . . . . . . . . . . . 114, 162
^, . . . . . . . . . . . . . . . . 108, 134, 161, 205
^=, . . . . . . . . . . . . . . . . . . . . 114, 162
|, . . . . . . . . . . . . . . . . 108, 134, 161, 205
|=, . . . . . . . . . . . . . . . . . . . . 114, 162
436
function . . . . . . . . . . . .149
instance method . . 150
module . . . . . . . . . . . . . . 151
type . . . . . . . . . . . . . . . . . 165
__file__, module . . . .151
__float__(), . . . . . . . . . . . . . . . . 160
__getattr__(), . . . 98, 153, 155,
159
__getinitargs__(),
259
__getitem__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
operator . . . . . . . . . . . . . . . . . . . . 206
__getslice__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
operator . . . . . . . . . . . . . . . . . . . . 206
__getstate__(), 259
__hash__(), . . . . . . . . . . . . 155, 256
__hex__(), . . . . . . . . . . . . . . . . . . 159
__iadd__(), . . . . . . . . . . . . . . . . . 162
__iand__(), . . . . . . . . . . . . . . . . . 162
__idiv__(), . . . . . . . . . . . . . . . . . 162
__ilshift__(), . . . . . . . . . . . . . 162
__imod__(), . . . . . . . . . . . . . . . . . 162
__import__(), . . . .119,
170
__imul__(), . . . . . . . . . . . . . . . . . 162
__init__(), . . . 86, 128, 151, 153
__init__.py, . . . . . . . . . . . . . . . . . . . 64, 66
__int__(), . . . . . . . . . . . . . . . . . . 160
__inv__(), operator . . . . . . . . 205
__invert__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
operator . . . . . . . . . . . . . . . . . . . . 205
__ior__(), . . . . . . . . . . . . . . . . . . 162
__ipow__(), . . . . . . . . . . . . . . . . . 162
__irshift__(), . . . . . . . . . . . . . 162
__isub__(), . . . . . . . . . . . . . . . . . 162
__ixor__(), . . . . . . . . . . . . . . . . . 162
__len__(), . . . . . . . . 157, 159, 175
__long__(), . . . . . . . . . . . . . . . . . 160
__lshift__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
operator . . . . . . . . . . . . . . . . . . . . 205
__members__,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
__methods__,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
__mod__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
operator . . . . . . . . . . . . . . . . . . . . 204
__module__, class . . 152
__mul__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
operator . . . . . . . . . . . . . . . . . . . . 204
__name__ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
builtin_function_or_method . . . 150
class . . . . . . . . . . . 152, 182
function . . . . . . . . . . . .149
instance method . . 150
module . . . . . . . . . . . . . . 151
type . . . . . . . . . . . . . . . . . 165
__neg__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
operator . . . . . . . . . . . . . . . . . . . . 204
__nonzero__(), . . . . . . . . . . . . . 155
__not__(), operator . . . . . . . . 205
__oct__(), . . . . . . . . . . . . . . . . . . 159
__or__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
operator . . . . . . . . . . . . . . . . . . . . 205
__pos__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
operator . . . . . . . . . . . . . . . . . . . . 204
__pow__(), . . . . . . . . . . . . . . . . . . 161
__radd__(), . . . . . . . . . . . . . . . . . 162
__rand__(), . . . . . . . . . . . . . . . . . 162
__rcmp__(), . . . . . . . . . . . . 109, 154
__rdiv__(), . . . . . . . . . . . . . . . . . 162
__rdivmod__(), . . . . . . . . . . . . . 162
__repeat__(), operator . . . . 205
__repr__(), . . . . . . . . . . . . . . . . . 159
__rlshift__(), . . . . . . . . . . . . . 162
__rmod__(), . . . . . . . . . . . . . . . . . 162
__rmul__(), . . . . . . . . . . . . . . . . . 162
__ror__(), . . . . . . . . . . . . . . . . . . 162
__rpow__(), . . . . . . . . . . . . . . . . . 162
__rrshift__(), . . . . . . . . . . . . . 162
__rshift__(), . . . . . . . . . . . . . . 161
__rsub__(), . . . . . . . . . . . . . . . . . 162
__rxor__(), . . . . . . . . . . . . . . . . . 162
__self__,
builtin_function_or_method . . . 151
__setattr__(), . . . 98, 113, 153,
156
__setitem__()
. . . . . . . . . . . . . . . . . . . . . . . . . 113, 157
operator . . . . . . . . . . . . . . . . . . . . 206
__setslice__()
. . . . . . . . . . . . . . . . . . . . . . . . . 113, 158
operator . . . . . . . . . . . . . . . . . . . . 206
__setstate__(), 259
__stderr__, sys . . . . . . . . . . . . . . 197
__stdin__, sys . . . . . . . . . . . . . . . 197
__stdout__, sys . . . . . . . . . . . . . . 197
__str__(), . . . . . . . . . . . . . . . . . . 159
__sub__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
operator . . . . . . . . . . . . . . . . . . . . 204
__xor__()
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
operator . . . . . . . . . . . . . . . . . . . . 205
_exit(), os . . . . . . . . . . . . . . 186, 277
in, for, . for
__builtins__ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
, . . . . 68, 159, 179
A
abort(), os . . . . . . . . . . . . . . . . . . . 276
abs()
operator . . . . . . . . . . . . . . . . . . . . 205
. . . . . . 25, 160, 171, 205
abspath(), os.path . . . . . . . . . . 280
accept(), socket . . . . . . . . . . . . 310
accept2dyear, time . . . . . . . . . . 291
access(), os . . . . . . . . . . . . . . . . . . 273
acos()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .247
math . . . . . . . . . . . . . . . . . . . . . . . . . . 245
acosh(), cmath . . . . . . . . . . . . . . . 247
activeCount(), threading . .320
add(), operator . . . . . . . . . . . . . . 204
AddressList(), rfc822 . . . . . . 370
adler32(), zlib . . . . . . . . . . . . . . 334
AF_INET, socket . . . . . . . . . . . . . . 308
AF_UNIX, socket . . . . . . . . . . . . . . 308
alarm(), signal . . . . . . . . . . . . . . 306
all_features,
xml.sax.handler . . . . . . . . . . . . . . . . . . 395
all_properties,
xml.sax.handler . . . . . . . . . . . . . . . . . . 395
allocate_lock(), thread . . . 318
altsep, os . . . . . . . . . . . . . . . . . . . . . 280
altzone(), time . . . . . . . . . . . . . . 291
and, . . . . . . . . . . . . . . . . . . . . . . . . 56, 111
and_(), operator . . . . . . . . . . . . 205
append(), list . 41, 47, 48,
146
apply(), . . . . . . . 46, 171
437
aRepr, repr . . . . . . . . . . . . . . . . . . . 215
argv, sys . . . . . . . . . . . . . . . . . . . . . . 192
ArithmeticError, . . . . . . . . . 183
array, array . . . . . . . . . . . . . . . . . . 145
array(), array . . . . . . . . . . . . . . . 252
ArrayType, array . . . . . . . . . . . . 253
as, import . . . . . . . . . . . . . . . . 118
asctime(), time . . . . . . . . . . . . . . 291
asin()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .247
math . . . . . . . . . . . . . . . . . . . . . . . . . . 245
asinh(), cmath . . . . . . . . . . . . . . . 247
assert, . . . . . . . . . . . . . 61, 120, 183
AssertionError, . . . . . 120, 183
atan()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .247
math . . . . . . . . . . . . . . . . . . . . . . . . . . 245
atan2(), math . . . . . . . . . . . . . . . . .245
atanh(), cmath . . . . . . . . . . . . . . . 248
atof()
locale . . . . . . . . . . . . . . . . . . . . . . . 239
string . . . . . . . . . . . . . . . . . . . . . . . 218
atoi()
locale . . . . . . . . . . . . . . . . . . . . . . . 239
string . . . . . . . . . . . . . . . . . . . . . . . 218
atol(), string . . . . . . . . . . . . . . . 218
AttributeError, . . . . . 107, 183
AttributesImpl(),
xml.sax.xmlreader . . . . . . . . . . . . . . . 399
AttributesNSImpl(),
xml.sax.xmlreader . . . . . . . . . . . . . . . 400
B
basename(), os.path . . . . . . . . 280
Bastion(), Bastion . . . . . . . . . . 354
BastionClass(), Bastion . . . 354
betavariate(), random . . . . . . 249
big-endian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193, 235
bind(), socket . . . . . . . . . . . . . . . 310
bindtextdomain(), gettext 241
bisect(), bisect . . . . . . . . . . . . 251
BOM, codecs . . . . . . . . . . . . . . . . . . . 235
BOM32_BE, codecs . . . . . . . . . . . . 235
BOM32_LE, codecs . . . . . . . . . . . . 235
BOM64_BE, codecs . . . . . . . . . . . . 235
BOM64_LE, codecs . . . . . . . . . . . . 235
BOM_BE, codecs . . . . . . . . . . . . . . . 235
BOM_LE, codecs . . . . . . . . . . . . . . . 235
break, . . . . . . . . . . . . . . . . . . . 39, 116
btopen(), bsddb . . . . . . . . . . . . . . 331
buffer, . . . . . . . 135, 145, 202
438
buffer(), . . . . .145, 171
BufferType, types . . . . . . . . . . . 202
builtin_function_or_method,
. . . . . . . . . . . . . . . . . 150, 203
builtin_module_names, sys 193
BuiltinFunctionType, types
203
BuiltinMethodType, types . .203
byteorder, sys . . . . . . . . . . . . . . . 192
C
C_BUILTIN, imp . . . . . . . . . . . . . . . 212
C_EXTENSION, imp . . . . . . . . . . . . 212
calcsize(), struct . . . . . . . . . . 264
calendar(), calendar . . . . . . . 420
callable(), . . 148, 171
cancel(), sched . . . . . . . . . . . . . . 295
capitalize()
string unicode . . . . 142
string . . . . . . . . . . . . . . . . . . . . . . . 218
capwords(), string . . . . . . . . . . 218
Catalog(), gettext . . . . . . . . . . 242
ceil(), math . . . . . . . . . . . . . . . . . . 246
center()
string unicode . . . . 140
string . . . . . . . . . . . . . . . . . . . . . . . 220
CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
CHAR_MAX, locale . . . . . . . . . . . . 238
charmap_decode(), codecs . .234
charmap_encode(), codecs . .234
chdir(), os . . . . . . . . . . . . . . . . . . . 273
chmod(), os . . . . . . . . . . . . . . . . . . . 273
choice()
random . . . . . . . . . . . . . . . . . . . . . . . 250
whrandom . . . . . . . . . . . . . . . . . . . . 251
choose_boundary(), mimetools
373
chown(), os . . . . . . . . . . . . . . . . . . . 273
chr(), . . . . . . . . . . . . . . 171
class
. . . . . . . . . . . . . . . . . . . . . . . . . . 85, 128
. . . . . . . . . . . 85, 151, 152, 203
ClassType, types . . . . . . . . . . . . 203
clear(), dictionary . . 148
clock(), time . . . . . . . . . . . . . . . . .291
close()
file . . . . . . . . . . . . . . . . . . . 163
fileinput . . . . . . . . . . . . . . . . . . . 410
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
socket . . . . . . . . . . . . . . . . . . . . . . . 310
closed, file . . . . . . . . . 164
Cmd(), cmd . . . . . . . . . . . . . . . . . . . . . 417
cmp()
filecmp . . . . . . . . . . . . . . . . . . . . . . 286
. . . . . 147, 154, 171, 239
cmpfiles(), filecmp . . . . . . . . 286
co_argcount, code . . 167
co_code, code . . . . . . . . 167
co_consts, code . . . . . 167
co_filename, code . . 167
co_firstlineno, code
167
co_flags, code . . . . . . 167
co_lnotab, code . . . . . 167
co_name, code . . . . . . . . 167
co_names, code . . . . . . 167
co_nlocals, code . . . .167
co_stacksize, code . 167
co_varnames, code . . 167
code, . . . . . . . . . . 166, 203, 263
Codec(), codecs . . . . . . . . . . . . . . 234
CodeType, types . . . . . . . . . . . . . . 203
coerce(), . . . . . . . . . . 171
collect(), gc . . . . . . . . . . . . . . . . .199
commonprefix(), os.path . . . 280
compatible_formats, pickle
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
compile()
re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
. . . . . 117, 167, 172, 173
complex, . . . . . . . 24, 131, 202
complex(), . . . . 24, 132,
160, 172
ComplexType, types . . . . . . . . . . 202
compress(), zlib . . . . . . . . . . . . 334
compressobj(), zlib . . . . . . . . 334
concat(), operator . . . . . . . . . . 205
Condition(), threading . . . . 320
ConfigParser(), ConfigParser
412
confstr(), os . . . . . . . . . . . . . . . . .279
confstr_names, os . . . . . . . . . . . 279
conjugate(), complex 133
connect(), socket . . . . . . . . . . . 310
connect_ex(), socket . . . . . . . 310
contains(), operator . . . . . . . 205
ContentHandler()
xml.sax.handler . . . . . . . . . . . 394
xml.sax . . . . . . . . . . . . . . . . . . . . . . 393
continue, . . . . . . . . . . . . . . . 39, 116
ConversionError, xdrlib . . . 382
copy()
dictionary . . . . . . . . . . . 148
shutil . . . . . . . . . . . . . . . . . . . . . . . 304
copy2(), shutil . . . . . . . . . . . . . . 304
copybinary(), mimetools . . . 374
copyfile(), shutil . . . . . . . . . . 304
copyfileobj(), shutil . . . . . . 304
copyliteral(), mimetools . .373
copymode(), shutil . . . . . . . . . . 304
copyright, sys . . . . . . . . . . . . . . . 193
copystat(), shutil . . . . . . . . . . 304
copytree(), shutil . . . . . . . . . . 304
cos()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
cosh()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
count()
list . . . . . . . . . . . . . . . 47, 146
string unicode . . . . 140
string . . . . . . . . . . . . . . . . . . . . . . . 219
countOf(), operator . . . . . . . . 206
crc32(), zlib . . . . . . . . . . . . . . . . .334
ctermid(), os . . . . . . . . . . . . . . . . .268
ctime(), time . . . . . . . . . . . . . . . . .291
cunifvariate(), random . . . . 249
curdir, os . . . . . . . . . . . . . . . . . . . . . 280
currentThread(), threading
320
D
daylight, time . . . . . . . . . . . . . . . 292
DEBUG_COLLECTABLE, gc . . . . . . 200
DEBUG_INSTANCES, gc . . . . . . . . 200
DEBUG_LEAK, gc . . . . . . . . . . . . . . . 200
DEBUG_OBJECTS, gc . . . . . . . . . . . 200
DEBUG_SAVEALL, gc . . . . . . . . . . . 200
DEBUG_STATS, gc . . . . . . . . . . . . . . 200
DEBUG_UNCOLLECTABLE, gc . . . 200
decode(), mimetools . . . . . . . . 373
decompress(), zlib . . . . . . . . . . 335
decompressobj(), zlib . . . . . . 335
def, . . . . . . . . . . . . . . . . . 40, 125, 149
DEF_MEM_LEVEL, zlib . . . . . . . . 334
defpath, os . . . . . . . . . . . . . . . . . . . 280
del, . . . . . . . . 52, 55, 115, 145, 147
delattr(), . . . . . . . . 172
delitem(), operator . . . . . . . . 206
delslice(), operator . . . . . . . 206
dgettext(), gettext . . . . . . . . 241
439
dictionary, . . . 55, 95, 147,
155, 203
DictionaryType, types . . . . . . 203
DictType, types . . . . . . . . . . . . . . 203
digits, string . . . . . . . . . . . . . . . 217
dir(), . . . . . . . . . . 63, 172
dircmp(), filecmp . . . . . . . . . . . 286
dirname(), os.path . . . . . . . . . . 281
disable(), gc . . . . . . . . . . . . . . . . .198
div(), operator . . . . . . . . . . . . . . 204
divmod(), . . . . .161, 172
dllhandle, sys . . . . . . . . . . . . . . . 193
DOTALL, re . . . . . . . . . . . . . . . . . . . . . 226
DST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
DTD . . . . . . . . . . . . . . . . . . . . . . . 384, 394, 405, 406
DTDHandler(),
xml.sax.handler . . . . . . . . . . . . . . . . . . 394
dump()
marshal . . . . . . . . . . . . . . . . . . . . . . 263
pickle cPickle . . . . . . . . . .261
dumps()
marshal . . . . . . . . . . . . . . . . . . . . . . 263
pickle cPickle . . . . . . . . . .261
dup(), os . . . . . . . . . . . . . . . . . . . . . . 271
dup2(), os . . . . . . . . . . . . . . . . . . . . . 271
DuplicateSectionError,
ConfigParser . . . . . . . . . . . . . . . . . . . . . . 413
E
e
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 247
E2BIG, errno . . . . . . . . . . . . . . . . . . 300
EACCES, errno . . . . . . . . . . . . . . . . .300
EAGAIN, errno . . . . . . . . . . . . . . . . .300
EBADF, errno . . . . . . . . . . . . . . . . . . 300
EBADMSG, errno . . . . . . . . . . . . . . . 302
EBUSY, errno . . . . . . . . . . . . . . . . . . 300
ECHILD, errno . . . . . . . . . . . . . . . . .300
EDEADLK, errno . . . . . . . . . . . . . . . 301
EDOM, errno . . . . . . . . . . . . . . . . . . . 301
EEXIST, errno . . . . . . . . . . . . . . . . .300
EFAULT, errno . . . . . . . . . . . . . . . . .300
EFBIG, errno . . . . . . . . . . . . . . . . . . 301
EILSEQ, errno . . . . . . . . . . . . . . . . .302
EINPROGRESS, errno . . . . . . . . . . 302
EINTR, errno . . . . . . . . . . . . . . . . . . 300
EINVAL, errno . . . . . . . . . . . . . . . . .301
EIO, errno . . . . . . . . . . . . . . . . . . . . . 300
EISDIR, errno . . . . . . . . . . . . . . . . .301
elif, if . . . . . . . . . . .36, 122
Ellipsis, . . . . . . . . . . . . . . . . . . . . . . . . 166
440
ellipsis, . . . . . . . . . 166, 203
EllipsisType, types . . . . . . . . 203
else
if . . . . . . . . . . . . . . . . 36, 122
try . . . . . . . . . . . . . . 78, 124
while for . . 39, 116, 122,
123
EMFILE, errno . . . . . . . . . . . . . . . . .301
EMLINK, errno . . . . . . . . . . . . . . . . .301
Empty, Queue . . . . . . . . . . . . . . . . . . 325
empty(), sched . . . . . . . . . . . . . . . 295
EMSGSIZE, errno . . . . . . . . . . . . . . 302
enable(), gc . . . . . . . . . . . . . . . . . . 198
ENAMETOOLONG, errno . . . . . . . . 301
encode()
string unicode . . . . 142
mimetools . . . . . . . . . . . . . . . . . . . 373
EncodedFile(), codecs . . . . . . 233
endswith(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
ENFILE, errno . . . . . . . . . . . . . . . . .301
ENODEV, errno . . . . . . . . . . . . . . . . .300
ENOENT, errno . . . . . . . . . . . . . . . . .300
ENOEXEC, errno . . . . . . . . . . . . . . . 300
ENOLCK, errno . . . . . . . . . . . . . . . . .302
ENOMEM, errno . . . . . . . . . . . . . . . . .300
ENOSPC, errno . . . . . . . . . . . . . . . . .301
ENOSYS, errno . . . . . . . . . . . . . . . . .302
ENOTDIR, errno . . . . . . . . . . . . . . . 301
ENOTEMPTY, errno . . . . . . . . . . . . 302
ENOTTY, errno . . . . . . . . . . . . . . . . .301
enter(), sched . . . . . . . . . . . . . . . 294
enterabs(), sched . . . . . . . . . . . 294
entitydefs, htmlentitydefs
388
EntityResolver(),
xml.sax.handler . . . . . . . . . . . . . . . . . . 394
enumerate(), threading . . . . 320
environ, os . . . . . . . . . . . . . . . . . . . 267
EnvironmentError, . . . . . . . 184
ENXIO, errno . . . . . . . . . . . . . . . . . . 300
EOFError, . . . . . . . . . . . . . 178, 183
EPERM, errno . . . . . . . . . . . . . . . . . . 300
EPIPE, errno . . . . . . . . . . . . . . . . . . 301
ERANGE, errno . . . . . . . . . . . . . . . . .301
EROFS, errno . . . . . . . . . . . . . . . . . . 301
Error
ConfigParser . . . . . . . . . . . . . . . 412
locale . . . . . . . . . . . . . . . . . . . . . . . 236
multifile . . . . . . . . . . . . . . . . . . . 376
xdrlib . . . . . . . . . . . . . . . . . . . . . . . 382
error
bsddb . . . . . . . . . . . . . . . . . . . . . . . . .331
getopt . . . . . . . . . . . . . . . . . . . . . . . 296
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
select . . . . . . . . . . . . . . . . . . . . . . . 313
socket . . . . . . . . . . . . . . . . . . . . . . . 308
struct . . . . . . . . . . . . . . . . . . . . . . . 264
thread . . . . . . . . . . . . . . . . . . . . . . . 318
xml.parsers.expat . . . . . . . . 389
zipfile . . . . . . . . . . . . . . . . . . . . . . 337
zlib . . . . . . . . . . . . . . . . . . . . . . . . . . 334
anydbm, dumbdbm, dbhash, dbm
gdbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
errorcode, errno . . . . . . . . . . . . 299
ErrorHandler()
xml.sax.handler . . . . . . . . . . . 394
xml.sax . . . . . . . . . . . . . . . . . . . . . . 393
errors, xml.parsers.expat 389
ErrorString(),
xml.parsers.expat . . . . . . . . . . . . . . . 388
escape()
cgi . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
xml.sax.saxutils . . . . . . . . . .398
ESPIPE, errno . . . . . . . . . . . . . . . . .301
ESRCH, errno . . . . . . . . . . . . . . . . . . 300
ETIMEDOUT, errno . . . . . . . . . . . . 302
ETXTBSY, errno . . . . . . . . . . . . . . . 301
eval(), . . 117, 119, 130,
167, 172
Event(), threading . . . . . . . . . . 320
exc_info, sys . . . . . . . . . . . .124, 193
exc_info(), sys . . . . . . . . . . . . . . 169
exc_traceback, sys . . . . . 125, 193
exc_type, sys . . . . . . . . . . . .125, 193
exc_value, sys . . . . . . . . . . 125, 193
except, try . . . 21, 77, 93,
124, 182
Exception, . . . . . . . . . . . . . 93, 182
EXDEV, errno . . . . . . . . . . . . . . . . . . 300
exec, . . . . . . . . . 117, 119, 130, 167
exec_prefix, sys . . . . . . . . . . . . 193
execfile(), . 117, 130,
173
execl(), os . . . . . . . . . . . . . . . . . . . 276
execle(), os . . . . . . . . . . . . . . . . . . 276
execlp(), os . . . . . . . . . . . . . . . . . . 276
executable, sys . . . . . . . . . . . . . . 194
execv(), os . . . . . . . . . . . . . . . . . . . 276
execve(), os . . . . . . . . . . . . . . . . . . 276
execvp(), os . . . . . . . . . . . . . . . . . . 276
execvpe(), os . . . . . . . . . . . . . . . . .277
exists(), os.path . . . . . . . . . . . 281
exit()
sys . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
thread . . . . . . . . . . . . . . . . . . . . . . . 318
exit_thread(), thread . . . . . . 318
exitfunc, sys . . . . . . . . . . . . . . . . .194
exp()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
expandtabs()
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
expanduser(), os.path . . . . . . 281
expandvars(), os.path . . . . . . 281
expovariate(), random . . . . . . 249
extend(), list . . . . . . . . 146
extract_stack(), traceback
209
extract_tb(), traceback . . . 209
F
f_back, frame . . . . . . . . 168
F_BAVAIL, statvfs . . . . . . . . . . . 285
F_BFREE, statvfs . . . . . . . . . . . . 285
F_BLOCKS, statvfs . . . . . . . . . . . 285
F_BSIZE, statvfs . . . . . . . . . . . . 285
f_builtins, frame . . 168
f_code, frame . . . . . . . . 168
f_exc_traceback, frame
169
f_exc_type, frame . . 169
f_exc_value, frame . 169
F_FAVAIL, statvfs . . . . . . . . . . . 286
F_FFREE, statvfs . . . . . . . . . . . . 286
F_FILES, statvfs . . . . . . . . . . . . 285
F_FLAG, statvfs . . . . . . . . . . . . . . 286
F_FRSIZE, statvfs . . . . . . . . . . . 285
f_globals, frame . . . .168
f_lasti, frame . . . . . . 168
f_lineno, frame . . . . . 168
f_locals, frame . . . . . 168
F_NAMEMAX, statvfs . . . . . . . . . . 286
F_OK, os . . . . . . . . . . . . . . . . . . . . . . . 273
f_restricted, frame 168
f_trace, frame . . . . . . 169
fabs(), math . . . . . . . . . . . . . . . . . . 246
FancyURLopener(), urllib . .366
fdopen(), os . . . . . . . . . . . . . . . . . . 269
feature_*, xml.sax.handler
394
441
FieldStorage(), cgi . . . . . . . . 356
FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48, 325
file, . . . . . . 72, 163, 203, 311
FileInput(), fileinput . . . . 410
filelineno(), fileinput . . . 410
filename(), fileinput . . . . . . 410
fileno()
file . . . . . . . . . . . . . . . . . . . 163
socket . . . . . . . . . . . . . . . . . . . . . . . 311
FileType, types . . . . . . . . . . . . . . 203
filter(), . . . . . . 49, 173
finally, try 80, 124, 186
find()
string unicode . . . . 141
gettext . . . . . . . . . . . . . . . . . . . . . . 241
string . . . . . . . . . . . . . . . . . . . . . . . 219
find_module(), imp . . . . . . . . . . 211
findall(), re . . . . . . . . . . . . . . . . .227
firstweekday(), calendar . .419
float, . . . . .24, 131, 132, 202
float(), . 25, 132, 160,
173
FloatingPointError, . . . . . 183
FloatType, types . . . . . . . . . . . . 202
floor(), math . . . . . . . . . . . . . . . . .246
flush(), file . . . . . . . . . . 163
fmod(), math . . . . . . . . . . . . . . . . . . 246
fnmatch(), fnmatch . . . . . . . . . . 303
fnmatchcase(), fnmatch . . . . 303
for
. . . . . . . . . . . . . . . . . 36, 39, 116, 123
. . . . . . . . . . . . . . . . . . 51
fork(), os . . . . . . . . . . . . . . . . . . . . . 277
forkpty(), os . . . . . . . . . . . . . . . . .277
format(), locale . . . . . . . . . . . . 239
format_exception(),
traceback . . . . . . . . . . . . . . . . . . . . . . . . . . 209
format_exception_only(),
traceback . . . . . . . . . . . . . . . . . . . . . . . . . . 209
format_list(), traceback . .209
format_stack(), traceback 210
format_tb(), traceback . . . . 210
format_version, pickle
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
formatdate(), rfc822 . . . . . . . 370
fpathconf(), os . . . . . . . . . . . . . . 271
frame, . . . . . . . . . . . . . 168, 204
FrameType, types . . . . . . . . . . . . 204
frexp(), math . . . . . . . . . . . . . . . . .246
FRIDAY, calendar . . . . . . . . . . . . 419
from, import . . . . . .59, 65, 118
442
fromfd(), socket . . . . . . . . . . . . 309
fstat(), os . . . . . . . . . . . . . . . . . . . 271
fstatvfs(), os . . . . . . . . . . . . . . . 271
ftruncate(), os . . . . . . . . . . . . . . 271
Full, Queue . . . . . . . . . . . . . . . . . . . 326
func_code, function
149, 167
func_defaults,
function . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
func_doc, function . 149
func_globals, function
149, 350
func_name, function 149
function, 125, 149, 152, 203
FunctionType, types . . . . . . . . 203
G
gamma(), random . . . . . . . . . . . . . . 249
garbage, gc . . . . . . . . . . . . . . . . . . . 199
gauss(), random . . . . . . . . . . . . . . 249
get(), dictionary . . . . 148
get_debug(), gc . . . . . . . . . . . . . . 199
get_ident(), thread . . . . . . . . 319
get_magic(), imp . . . . . . . . . . . . 211
get_suffixes(), imp . . . . . . . . 211
get_threshold(), gc . . . . . . . . 199
getatime(), os.path . . . . . . . . 281
getattr(), . . . . . . . . 173
getcwd(), os . . . . . . . . . . . . . . . . . . 273
getdefaultencoding(), sys 194
getdefaultlocale(), locale
238
getegid(), os . . . . . . . . . . . . . . . . .268
geteuid(), os . . . . . . . . . . . . . . . . .268
getfqdn(), socket . . . . . . . . . . . 308
getgid(), os . . . . . . . . . . . . . . . . . . 268
getgroups(), os . . . . . . . . . . . . . . 268
gethostbyaddr(), socket . . . 309
gethostbyname(), socket . . . 308
gethostbyname_ex(), socket
308
gethostname(), socket . . . . . . 309
getitem(), operator . . . . . . . . 206
getlocale(), locale . . . . . . . . 238
getlogin(), os . . . . . . . . . . . . . . . 268
getmtime(), os.path . . . . . . . . 281
getopt(), getopt . . . . . . . . . . . . 296
GetoptError, getopt . . . . . . . . 296
getpass(), getpass . . . . . . . . . . 296
getpeername(), socket . . . . . . 311
getpgrp(), os . . . . . . . . . . . . . . . . .268
getpid(), os . . . . . . . . . . . . . . . . . . 268
getppid(), os . . . . . . . . . . . . . . . . .268
getprotobyname(), socket . .309
getrecursionlimit(), sys . .194
getrefcount(), sys . . . . . . . . . . 194
getservbyname(), socket . . . 309
getsignal(), signal . . . . . . . . 306
getsize(), os.path . . . . . . . . . . 281
getslice(), operator . . . . . . . 206
getsockname(), socket . . . . . . 311
getsockopt(), socket . . . . . . . 311
gettempprefix(), tempfile 299
gettext(), gettext . . . . . . . . . . 241
getuid(), os . . . . . . . . . . . . . . . . . . 268
getuser(), getpass . . . . . . . . . . 296
glob(), glob . . . . . . . . . . . . . . . . . . 302
global, . . 40, 105, 117, 119, 128,
185
globals(), . . . 119, 174
GMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
gmtime(), time . . . . . . . . . . . . . . . 292
GNUTranslations(), gettext
243
GzipFile(), gzip . . . . . . . . . . . . 336
H
has_key(), dictionary 55,
148
hasattr(), . . . . . . . . 174
hash(), . . . . . . . 155, 174
hashopen(), bsddb . . . . . . . . . . . 331
hex(), . . . . . . . . . 159, 174
hexdigits, string . . . . . . . . . . . 217
hexversion, sys . . . . . . . . . . . . . . 194
HotProfile(), profile . . . . . . 347
HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
HTMLParser(), htmllib . . . . . . 387
htonl(), socket . . . . . . . . . . . . . . 310
htons(), socket . . . . . . . . . . . . . . 310
hypot(), math . . . . . . . . . . . . . . . . .246
I
I, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
id(), . . . . . . . . . . . . . . . 174
if
. . . . . . . . . . . . . . . . . . . . . 36, 110, 122
. . . . . . . . . . . . . . . . . . 52
IGNORECASE, re . . . . . . . . . . . . . . . 226
im_class, instance
method . . . . . . . . . . . . . . . . . . . . . . . . . 150, 152
im_func, instance
method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
im_self, instance
method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
imag, complex . . . . . . . . 133
import, . . . . 59, 65, 117, 170, 211
ImportError, 65, 184, 211, 212
in, . . . . . . . . . . . 56, 110, 135, 159, 205
INADDR_*, socket . . . . . . . . . . . . 308
IncrementalParser(),
xml.sax.xmlreader . . . . . . . . . . . . . . . 399
index()
list . . . . . . . . . . . . . . . 47, 146
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
IndexError, . . 29, 94, 123, 135,
185
indexOf(), operator . . . . . . . . 206
inet_aton(), socket . . . . . . . . 310
inet_ntoa(), socket . . . . . . . . 310
input()
fileinput . . . . . . . . . . . . . . . . . . . 409
. . . . . . . . . . 129, 174, 197
InputSource()
xml.sax.xmlreader . . . . . . . . 399
xml.sax . . . . . . . . . . . . . . . . . . . . . . 393
InputType, cStringIO . . . . . . . 232
insert(), list . . . . . 47, 146
insort(), bisect . . . . . . . . . . . . 251
install(), gettext . . . . . . . . . . 242
instance, 86, 151, 152, 203
instance method, . 87, 149
InstanceType, types . . . . . . . . 203
int, . . . . . . . 23, 131, 132, 202
int(), 25, 132, 160, 174
intern(), . . . . . . . . . . 175
Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
InterpolationDepthError,
ConfigParser . . . . . . . . . . . . . . . . . . . . . . 413
InterpolationError,
ConfigParser . . . . . . . . . . . . . . . . . . . . . . 413
IntType, types . . . . . . . . . . . . . . . 202
inv(), operator . . . . . . . . . . . . . . 205
invert(), operator . . . . . . . . . . 205
IOError, . . . . . . . . . . . . . . . 163, 184
IP_*, socket . . . . . . . . . . . . . . . . . . 308
IPPORT_*, socket . . . . . . . . . . . . 308
IPPROTO_*, socket . . . . . . . . . . . 308
is, . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 109
is not, . . . . . . . . . . . . . . . . . . . . 56, 110
is_zipfile(), zipfile . . . . . . 337
isabs(), os.path . . . . . . . . . . . . 281
isatty()
443
file . . . . . . . . . . . . . . . . . . . 163
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
isCallable(), operator . . . . 206
isdecimal(), unicode 144
isdigit(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
isdir(), os.path . . . . . . . . . . . . 281
isenabled(), gc . . . . . . . . . . . . . . 199
isfile(), os.path . . . . . . . . . . . 281
isfirstline(), fileinput . .410
isinstance(), . . . . 175
isleap(), calendar . . . . . . . . . . 419
islink(), os.path . . . . . . . . . . . 281
islower(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
isMappingType(), operator 206
ismount(), os.path . . . . . . . . . . 282
isNumberType(), operator . .207
isnumeric(), unicode 144
isreadable(), pprint . . . . . . . 214
isrecursive(), pprint . . . . . . 214
isSequenceType(), operator
207
isspace(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
isstdin(), fileinput . . . . . . . 410
issubclass(), . . . . 175
istitle(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
isupper(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
items(), dictionary . . 148
J
join()
string unicode . . . . 142
os.path . . . . . . . . . . . . . . . . . . . . . . 282
string . . . . . . . . . . . . . . . . . . . . . . . 219
joinfields(), string . . . . . . . 219
K
KeyboardInterrupt, . . . 21, 77,
184
KeyError, . . . . .55, 147, 157, 185
keys(), dictionary 55, 148
kill(), os . . . . . . . . . . . . . . . . . . . . . 277
L
L, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
lambda, . . . . . . . . . . . . . . . 45, 111, 149
LambdaType, types . . . . . . . . . . . 203
LANG, . . . . . . . 240, 242
LANGUAGE, . . 240, 242
444
last_traceback, sys . . . 169, 195
last_type, sys . . . . . . . . . . . . . . . 195
last_value, sys . . . . . . . . . . . . . . 195
LC_ALL
. . . . . . . . . . . . 240, 242
locale . . . . . . . . . . . . . . . . . . . . . . . 240
LC_COLLATE, locale . . . . . . . . . . 239
LC_CTYPE, locale . . . . . . . . . . . . 239
LC_MESSAGES
. . . . . . . . . . . . 240, 242
locale . . . . . . . . . . . . . . . . . . . . . . . 240
LC_MONETARY, locale . . . . . . . . 240
LC_NUMERIC, locale . . . . . . . . . . 240
LC_TIME, locale . . . . . . . . . . . . . . 239
ldexp(), math . . . . . . . . . . . . . . . . .246
leapdays(), calendar . . . . . . . 420
len(), . .30, 33, 38, 135,
147, 157, 175
letters, string . . . . . . . . . . . . . . 217
LIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
lineno(), fileinput . . . . . . . . 410
linesep, os . . . . . . . . . . . . . . . . . . . 280
link(), os . . . . . . . . . . . . . . . . . . . . . 273
list, . . . . 32, 47, 48, 51, 135,
145, 202
list(), . . . . . . . . . . . . 175
listdir(), os . . . . . . . . . . . . . . . . .274
listen(), socket . . . . . . . . . . . . 311
ListType, types . . . . . . . . . . . . . . 202
little-endian . . . . . . . . . . . . . . . . . . . . . . . . . . 193, 235
ljust()
string unicode . . . . 140
string . . . . . . . . . . . . . . . . . . . . . . . 220
load()
marshal . . . . . . . . . . . . . . . . . . . . . . 263
pickle cPickle . . . . . . . . . .261
load_module(), imp . . . . . . . . . . 211
loads()
marshal . . . . . . . . . . . . . . . . . . . . . . 263
pickle cPickle . . . . . . . . . .261
LOCALE, re . . . . . . . . . . . . . . . . . . . . . 226
localeconv(), locale . . . . . . . 237
locals(), . . . . .119, 175
localtime(), time . . . . . . . . . . . 292
Locator(), xml.sax.xmlreader
399
Lock(), threading . . . . . . . . . . . 320
LockType, thread . . . . . . . . . . . . 318
log()
cgi . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
log10()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
logfile, cgi . . . . . . . . . . . . . . . . . . 361
logfp, cgi . . . . . . . . . . . . . . . . . . . . . 361
lognormvariate(), random . .249
long int, . . . . 131, 132, 202
long(), . . . 25, 132, 160,
176
LongType, types . . . . . . . . . . . . . . 202
lookup(), codecs . . . . . . . . . . . . 233
LookupError, . . . . . . . . . . . . . . 184
lower()
string unicode . . . . 143
string . . . . . . . . . . . . . . . . . . . . . . . 219
lowercase, string . . . . . . . . . . . 217
lseek(), os . . . . . . . . . . . . . . . . . . . 271
lshift(), operator . . . . . . . . . . 205
lstat(), os . . . . . . . . . . . . . . . . . . . 274
lstrip()
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
lvalue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
M
M, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
make_parser(), xml.sax . . . . 392
makedirs(), os . . . . . . . . . . . . . . . 274
makefile(), socket . . . . . . . . . . 311
maketrans(), string . . . . . . . . 218
map(), . . . . . 49, 176, 207
MAP_PRIVATE, mmap . . . . . . . . . . . 316
MAP_SHARED, mmap . . . . . . . . . . . . 315
match(), re . . . . . . . . . . . . . . . . . . . 227
max(), . . . . . . . . . . . . . . 176
MAX_INTERPOLATION_DEPTH,
ConfigParser . . . . . . . . . . . . . . . . . . . . . . 412
maxint, sys . . . . . . . . . . . . . . . . . . . 195
MemoryError, . . . . . . . . . . . . . . 185
Message()
mimetools . . . . . . . . . . . . . . . . . . . 373
rfc822 . . . . . . . . . . . . . . . . . . . . . . . 369
method, . . . . . . . . . . . . . . . . . 203
MethodType, types . . . . . . . . . . . 203
MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373, 374
MimeWriter(), MimeWriter . .375
min(), . . . . . . . . . . . . . . 176
MiniFieldStorage, cgi . . . . . . 357
MissingSectionHeaderError,
ConfigParser . . . . . . . . . . . . . . . . . . . . . . 413
mkdir(), os . . . . . . . . . . . . . . . . . . . 274
mkfifo(), os . . . . . . . . . . . . . . . . . . 274
mktemp(), tempfile . . . . . . . . . . 298
mktime(), time . . . . . . . . . . . . . . . 292
mktime_tz(), rfc822 . . . . . . . . 370
mmap(), mmap . . . . . . . . . . . . . . . . . . 315
mod(), operator . . . . . . . . . . . . . . 204
mode, file . . . . . . . . . . . . 164
modf(), math . . . . . . . . . . . . . . . . . . 246
module, . . . . . . . . . . . . 151, 203
modules, sys . . . . . . . . . . . . . 118, 195
ModuleType, types . . . . . . . . . . . 203
MONDAY, calendar . . . . . . . . . . . . 419
month(), calendar . . . . . . . . . . . 420
monthcalendar(), calendar 420
monthrange(), calendar . . . . 420
MSG_*, socket . . . . . . . . . . . . . . . . .308
mul(), operator . . . . . . . . . . . . . . 204
MultiFile(), multifile . . . . 376
MULTILINE, re . . . . . . . . . . . . . . . . .226
MutableString(), UserString
256
N
name
file . . . . . . . . . . . . . . . . . 165
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
NameError, . . . . 53, 77, 105, 123,
129, 185
neg(), operator . . . . . . . . . . . . . . 204
new_module(), imp . . . . . . . . . . . 212
nextfile(), fileinput . . . . . . 410
nice(), os . . . . . . . . . . . . . . . . . . . . . 277
None
. . . . . . . . . . . . . . . . . . . . . . 41, 43, 110, 165
. . . . . . . . . . . . . . . . . . . . 165, 202
NoneType, types . . . . . . . . . . . . . . 202
NoOptionError, ConfigParser
413
normalize(), locale . . . . . . . . 238
normalvariate(), random . . . 249
normcase(), os.path . . . . . . . . 282
normpath(), os.path . . . . . . . . 282
NoSectionError, ConfigParser
412
not, . . . . . . . . . . . . . . . . . . . 56, 111, 205
not in, . . . . . . . . . . 56, 110, 135, 159
not_(), operator . . . . . . . . . . . . 205
NotImplementedError, . . . 185
NSIG, signal . . . . . . . . . . . . . . . . . . 306
ntohl(), socket . . . . . . . . . . . . . . 309
ntohs(), socket . . . . . . . . . . . . . . 309
445
NullTranslations(), gettext
242
O
O_APPEND, os . . . . . . . . . . . . . . . . . . 272
O_BINARY, os . . . . . . . . . . . . . . . . . . 273
O_CREAT, os . . . . . . . . . . . . . . . . . . . 272
O_DSYNC, os . . . . . . . . . . . . . . . . . . . 272
O_EXCL, os . . . . . . . . . . . . . . . . . . . . . 272
O_NDELAY, os . . . . . . . . . . . . . . . . . . 272
O_NOCTTY, os . . . . . . . . . . . . . . . . . . 273
O_NONBLOCK, os . . . . . . . . . . . . . . . 272
O_RDONLY, os . . . . . . . . . . . . . . . . . . 272
O_RDWR, os . . . . . . . . . . . . . . . . . . . . . 272
O_RSYNC, os . . . . . . . . . . . . . . . . . . . 272
O_SYNC, os . . . . . . . . . . . . . . . . . . . . . 272
O_TEXT, os . . . . . . . . . . . . . . . . . . . . . 273
O_TRUNC, os . . . . . . . . . . . . . . . . . . . 272
O_WRONLY, os . . . . . . . . . . . . . . . . . . 272
oct(), . . . . . . . . . 159, 176
octdigits, string . . . . . . . . . . . 217
open()
codecs . . . . . . . . . . . . . . . . . . . . . . . 233
gzip . . . . . . . . . . . . . . . . . . . . . . . . . . 336
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
shelve . . . . . . . . . . . . . . . . . . . . . . . 262
urllib . . . . . . . . . . . . . . . . . . . . . . . 366
anydbm, dumbdbm, dbhash, dbm
gdbm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
. . . . . . . . . . . 72, 163, 176
open_unknown(), urllib . . . . 366
openpty(), os . . . . . . . . . . . . . . . . .271
or, . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 111
or_(), operator . . . . . . . . . . . . . . 205
ord(), . . . . . . . . . . . . . . 177
OSError, . . . . . . . . . . . . . . . 184, 267
OutputType, cStringIO . . . . . . 232
OverflowError, . .174, 183, 292
P
P_DETACH, os . . . . . . . . . . . . . . . . . . 277
P_NOWAIT, os . . . . . . . . . . . . . . . . . . 277
P_NOWAITO, os . . . . . . . . . . . . . . . . .277
P_OVERLAY, os . . . . . . . . . . . . . . . . .277
P_WAIT, os . . . . . . . . . . . . . . . . . . . . . 277
pack(), struct . . . . . . . . . . . . . . . 264
Packer(), xdrlib . . . . . . . . . . . . 379
pardir, os . . . . . . . . . . . . . . . . . . . . . 280
paretovariate(), random . . . 249
parse()
446
cgi . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
xml.sax . . . . . . . . . . . . . . . . . . . . . . 392
parse_header(), cgi . . . . . . . . 360
parse_multipart(), cgi . . . . 360
parse_qs(), cgi . . . . . . . . . . . . . . 360
parse_qsl(), cgi . . . . . . . . . . . . 360
parsedate(), rfc822 . . . . . . . . 370
parsedate_tz(), rfc822 . . . . 370
ParserCreate(),
xml.parsers.expat . . . . . . . . . . . . . . . 388
parseString(), xml.sax . . . . 393
ParsingError, ConfigParser
413
pass, . . . . . . . . . . . . . . . . . . . . 39, 115
path
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
sys . . . . . . . . . . . . . . . . . . . . . . 119, 195
pathconf(), os . . . . . . . . . . . . . . . 274
pathconf_names, os . . . . . . . . . . 274
pathsep, os . . . . . . . . . . . . . . . . . . . 280
pause(), signal . . . . . . . . . . . . . . 306
Pdb(), pdb . . . . . . . . . . . . . . . . . . . . . 340
pformat(), pprint . . . . . . . . . . . 214
PI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390, 407
pi
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 247
PickleError, pickle
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Pickler(), pickle cPickle
260
PicklingError, pickle
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
pipe(), os . . . . . . . . . . . . . . . . . . . . . 272
PKG_DIRECTORY, imp . . . . . . . . . . 212
platform, sys . . . . . . . . . . . . . . . . .196
plock(), os . . . . . . . . . . . . . . . . . . . 277
pm(), pdb . . . . . . . . . . . . . . . . . . . . . . 342
poll(), select . . . . . . . . . . . . . . . 314
POLLERR, select . . . . . . . . . . . . . . 315
POLLHUP, select . . . . . . . . . . . . . . 315
POLLIN, select . . . . . . . . . . . . . . . 314
POLLNVAL, select . . . . . . . . . . . . 315
POLLOUT, select . . . . . . . . . . . . . . 315
POLLPRI, select . . . . . . . . . . . . . . 314
pop(), list . . . . . . . . . 48, 146
popen(), os . . . . . . . . . . . . . . . . . . . 270
popen2()
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
popen2 . . . . . . . . . . . . . . . . . . . . . . . 288
Popen3(), popen2 . . . . . . . . . . . . 288
popen3()
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
popen2 . . . . . . . . . . . . . . . . . . . . . . . 288
Popen4(), popen2 . . . . . . . . . . . . 289
popen4()
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
popen2 . . . . . . . . . . . . . . . . . . . . . . . 288
pos(), operator . . . . . . . . . . . . . . 204
post_mortem(), pdb . . . . . . . . . . 342
pow()
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
. . . . . . . . . . . . . . . 161, 177
pprint(), pprint . . . . . . . . . . . . 214
prcal(), calendar . . . . . . . . . . . 420
prefix, sys . . . . . . . . . . . . . . . . . . . 196
prepare_input_source(),
xml.sax.saxutils . . . . . . . . . . . . . . . . . 398
PrettyPrinter(), pprint . . . 213
print, . . . . . . 27, 35, 68, 115, 159
print_directory(), cgi . . . . 360
print_environ(), cgi . . . . . . . 360
print_environ_usage(), cgi
360
print_exc(), traceback . . . . 208
print_exception(), traceback
208
print_form(), cgi . . . . . . . . . . . 360
print_last(), traceback . . . 208
print_stack(), traceback . .209
print_tb(), traceback . . . . . . 208
printable, string . . . . . . . . . . . 218
prmonth(), calendar . . . . . . . . 420
Profile(), profile . . . . . . . . . . 347
property_*, xml.sax.handler
394
PROT_READ, mmap . . . . . . . . . . . . . . 316
PROT_WRITE, mmap . . . . . . . . . . . . 316
ps1, sys . . . . . . . . . . . . . . . . . . . . . . . 196
ps2, sys . . . . . . . . . . . . . . . . . . . . . . . 196
punctuation, string . . . . . . . . 217
putenv(), os . . . . . . . . . . . . . . . . . . 268
PY_COMPILED, imp . . . . . . . . . . . . 212
PY_FROZEN, imp . . . . . . . . . . . . . . . 212
PY_RESOURCE, imp . . . . . . . . . . . . 212
PY_SOURCE, imp . . . . . . . . . . . . . . . 212
PYTHONDEBUG, . . . 426
PYTHONHOME, . . . . 427
PYTHONINSPECT, 426
PYTHONOPTIMIZE,
61, 427
PYTHONPATH, . 61, 62,
119, 196, 427
PYTHONSTARTUP, 21,
191, 427
PYTHONUNBUFFERED,
427
PYTHONVERBOSE, 427
PYTHONY2K, 290, 291
PyZipFile(), zipfile . . . . . . . 337
Q
Queue(), Queue . . . . . . . . . . . . . . . 325
quote(), urllib . . . . . . . . . . . . . . 364
quote_plus(), urllib . . . . . . . 364
R
R_OK, os . . . . . . . . . . . . . . . . . . . . . . . 273
raise, . . . . . . . . . . . . . . . . . . . 92, 120
randint()
random . . . . . . . . . . . . . . . . . . . . . . . 250
whrandom . . . . . . . . . . . . . . . 250, 251
random()
random . . . . . . . . . . . . . . . . . . . . . . . 250
whrandom . . . . . . . . . . . . . . . 250, 251
randrange()
random . . . . . . . . . . . . . . . . . . . . . . . 250
whrandom . . . . . . . . . . . . . . . 250, 251
range(), . . . . . . . 37, 177
raw_input(), 178, 197
read()
file . . . . . . . . . . . . . . . 73, 163
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
readline(), file . . 73, 163
readlines(), file .73, 164
readlink(), os . . . . . . . . . . . . . . . 274
real, complex . . . . . . . . 133
recv(), socket . . . . . . . . . . . . . . . 311
recvfrom(), socket . . . . . . . . . . 311
reduce(), . 51, 178, 207
register()
codecs . . . . . . . . . . . . . . . . . . . . . . . 233
select . . . . . . . . . . . . . . . . . . . . . . . 314
reload(), 179, 195, 211
remove()
list . . . . . . . . . . . . . . . 47, 146
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
removedirs(), os . . . . . . . . . . . . 274
rename(), os . . . . . . . . . . . . . . . . . . 275
renames(), os . . . . . . . . . . . . . . . . .275
repeat(), operator . . . . . . . . . . 205
replace()
string unicode . . . . 141
447
string . . . . . . . . . . . . . . . . . . . . . . . 220
Repr(), repr . . . . . . . . . . . . . . . . . . 215
repr()
repr . . . . . . . . . . . . . . . . . . . . . . . . . . 215
. . . . . . . . . . . 68, 159, 179
resetlocale(), locale . . . . . . 238
retrieve(), urllib . . . . . . . . . . 366
return, . . . . . . . . . . . . . . . . . . . . . 117
reverse(), list . . . 48, 146
RExec(), rexec . . . . . . . . . . . . . . . 351
rfind()
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
RHooks(), rexec . . . . . . . . . . . . . . 351
rindex()
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
rjust()
string unicode . . . . 140
string . . . . . . . . . . . . . . . . . . . . . . . 220
RLock(), threading . . . . . . . . . . 320
rmdir(), os . . . . . . . . . . . . . . . . . . . 275
rmtree(), shutil . . . . . . . . . . . . 305
rnopen(), bsddb . . . . . . . . . . . . . . 331
round(), . . . . . . . . . . . 179
rstrip()
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
run()
pdb . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
profile . . . . . . . . . . . . . . . . . . . . . . 347
sched . . . . . . . . . . . . . . . . . . . . . . . . .295
runcall(), pdb . . . . . . . . . . . . . . . 341
runeval(), pdb . . . . . . . . . . . . . . . 341
RuntimeError, . . . . . . . . . . . . . 185
S
S, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
S_IFMT(), stat . . . . . . . . . . . . . . . 284
S_IMODE(), stat . . . . . . . . . . . . . . 284
S_ISBLK(), stat . . . . . . . . . . . . . . 283
S_ISCHR(), stat . . . . . . . . . . . . . . 283
S_ISDIR(), stat . . . . . . . . . . . . . . 283
S_ISFIFO(), stat . . . . . . . . . . . . 283
S_ISLNK(), stat . . . . . . . . . . . . . . 284
S_ISREG(), stat . . . . . . . . . . . . . . 283
S_ISSOCK(), stat . . . . . . . . . . . . 284
saferepr(), pprint . . . . . . . . . . 214
samefile(), os.path . . . . . . . . 282
sameopenfile(), os.path . . . 282
samestat(), os.path . . . . . . . . 282
448
SATURDAY, calendar . . . . . . . . . . 419
SAXException, xml.sax . . . . . . 393
SAXNotRecognizedException,
xml.sax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
SAXNotSupportedException,
xml.sax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
SAXParseException, xml.sax
393
SAXReaderNotAvailable,
xml.sax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
scheduler(), sched . . . . . . . . . . 294
search(), re . . . . . . . . . . . . . . . . . . 227
seed()
random . . . . . . . . . . . . . . . . . . . . . . . 250
whrandom . . . . . . . . . . . . . . . 250, 251
seek(), file . . . . . . 164, 177
select(), select . . . . . . . . . . . . 313
Semaphore(), threading . . . . 320
send(), socket . . . . . . . . . . . . . . . 312
sendto(), socket . . . . . . . . . . . . 312
sep, os . . . . . . . . . . . . . . . . . . . . . . . . . 280
sequenceIncludes(), operator
205
set_debug(), gc . . . . . . . . . . . . . . 199
set_threshold(), gc . . . . . . . . 199
set_trace(), pdb . . . . . . . . . . . . 342
setattr(), . . . . . . . . 180
setblocking(), socket . . . . . . 312
setcheckinterval(), sys . . . 196
setdefault(),
dictionary . . . . . . . . . . . . . . . . . . . . . . . . . 148
setdefaultencoding(), sys 196
setegid(), os . . . . . . . . . . . . . . . . .268
seteuid(), os . . . . . . . . . . . . . . . . .268
setfirstweekday(), calendar
419
setgid(), os . . . . . . . . . . . . . . . . . . 268
setitem(), operator . . . . . . . . 206
setlocale(), locale . . . . . . . . 236
setpgid(), os . . . . . . . . . . . . . . . . .269
setpgrp(), os . . . . . . . . . . . . . . . . .269
setprofile(), sys . . . . . . . . . . . 196
setrecursionlimit(), sys . .197
setregid(), os . . . . . . . . . . . . . . . 269
setreuid(), os . . . . . . . . . . . . . . . 269
setsid(), os . . . . . . . . . . . . . . . . . . 269
setslice(), operator . . . . . . . 206
setsockopt(), socket . . . . . . . 312
settrace(), sys . . . . . . . . . . . . . . 197
setuid(), os . . . . . . . . . . . . . . . . . . 269
SGML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
SGMLParser(), sgmllib . . . . . . 383
shlex(), shlex . . . . . . . . . . . . . . . 415
shutdown(), socket . . . . . . . . . . 312
SIG*, signal . . . . . . . . . . . . . . . . . . 306
SIG_DFL, signal . . . . . . . . . . . . . . 306
SIG_IGN, signal . . . . . . . . . . . . . . 306
signal(), signal . . . . . . . 184, 306
sin()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 246
sinh()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 247
sleep(), time . . . . . . . . . . . . . . . . .292
slice, . . . . . . . . . . . . . 166, 203
slice(), . . . . . . 166, 180
SliceType, types . . . . . . . . . . . . 203
SO_*, socket . . . . . . . . . . . . . . . . . . 308
SOCK_DGRAM, socket . . . . . . . . . . 308
SOCK_RAW, socket . . . . . . . . . . . . 308
SOCK_RDM, socket . . . . . . . . . . . . 308
SOCK_SEQPACKET, socket . . . . 308
SOCK_STREAM, socket . . . . . . . . 308
socket(), socket . . . . . . . . . . . . 309
SocketType, socket . . . . . . . . . . 310
softspace, file . . . . 115,
116, 165
SOL_*, socket . . . . . . . . . . . . . . . . .308
SOMAXCONN, socket . . . . . . . . . . . 308
sort(), list . . . .48, 55, 147
spawnv(), os . . . . . . . . . . . . . . . . . . 277
spawnve(), os . . . . . . . . . . . . . . . . .277
split()
string unicode . . . . 142
os.path . . . . . . . . . . . . . . . . . . . . . . 282
re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
string . . . . . . . . . . . . . . . . . . . . . . . 219
splitdrive(), os.path . . . . . . 283
splitext(), os.path . . . . . . . . 283
splitfields(), string . . . . . . 219
splitlines(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
sqrt()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 247
ST_ATIME, stat . . . . . . . . . . . . . . . 284
ST_CTIME, stat . . . . . . . . . . . . . . . 285
ST_DEV, stat . . . . . . . . . . . . . . . . . . 284
ST_GID, stat . . . . . . . . . . . . . . . . . . 284
ST_INO, stat . . . . . . . . . . . . . . . . . . 284
ST_MODE, stat . . . . . . . . . . . . . . . . .284
ST_MTIME, stat . . . . . . . . . . . . . . . 284
ST_NLINK, stat . . . . . . . . . . . . . . . 284
ST_SIZE, stat . . . . . . . . . . . . . . . . .284
ST_UID, stat . . . . . . . . . . . . . . . . . . 284
StandardError, . . . . . . . . . . . .183
start, slice . . . . . . . . . 166
start_new_thread(), thread
318
startfile(), os . . . . . . . . . . . . . . 278
startswith(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
stat(), os . . . . . . . . . . . . . . . . . . . . . 275
Stats(), pstats . . . . . . . . . . . . . . 348
statvfs(), os . . . . . . . . . . . . . . . . .275
stderr, sys . . . . . . . . . . . . . . 163, 197
stdin, sys . . . . . . . . . . . . . . . . 163, 197
stdout, sys . . . . . . . . . . . . . . 163, 197
step, slice . . . . . . . . . . 166
stop, slice . . . . . . . . . . 166
str()
locale . . . . . . . . . . . . . . . . . . . . . . . 239
. . . . . . . . 68, 71, 159, 180
strcoll(), locale . . . . . . . . . . . 239
StreamReader(), codecs . . . . 234
StreamReaderWriter(), codecs
234
StreamRecoder(), codecs . . . 235
StreamWriter(), codecs . . . . 234
strerror(), os . . . . . . . . . . . . . . . 267
strftime(), time . . . . . . . . . . . . 292
string, . . .26, 135, 136, 145,
202
StringIO(), pickle cPickle
232
StringType, types . . . . . . . . . . . 202
strip()
string unicode . . . . 141
string . . . . . . . . . . . . . . . . . . . . . . . 219
strptime(), time . . . . . . . . . . . . 293
strxfrm(), locale . . . . . . . . . . . 239
sub()
operator . . . . . . . . . . . . . . . . . . . . 204
re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
subn(), re . . . . . . . . . . . . . . . . . . . . . 228
SUNDAY, calendar . . . . . . . . . . . . 419
swapcase()
string unicode . . . . 143
string . . . . . . . . . . . . . . . . . . . . . . . 219
symlink(), os . . . . . . . . . . . . . . . . .275
SyntaxError, . . . . . . . . . . 28, 185
sysconf(), os . . . . . . . . . . . . . . . . .279
sysconf_names, os . . . . . . . . . . . 279
449
system(), os . . . . . . . . . . . . . . . . . . 278
SystemError, . . . . . . . . . . . . . . 186
SystemExit, .186, 194, 318, 319
T
T, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
TabError, . . . . . . . . . . . . . . . . . . 426
tan()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 247
tanh()
cmath . . . . . . . . . . . . . . . . . . . . . . . . .248
math . . . . . . . . . . . . . . . . . . . . . . . . . . 247
tb_frame, traceback
168, 169
tb_lasti, traceback 169
tb_lineno, traceback
169
tb_lineno(), traceback . . . . 210
tb_next, traceback . 169
tcgetpgrp(), os . . . . . . . . . . . . . . 272
tcsetpgrp(), os . . . . . . . . . . . . . . 272
tell(), file . . . . . . . . . . . 164
tempdir, tempfile . . . . . . . . . . . 299
TEMPLATE, re . . . . . . . . . . . . . . . . . . 226
template, tempfile . . . . . . . . . . 299
tempnam(), os . . . . . . . . . . . . . . . . .275
TemporaryFile(), tempfile 298
test(), cgi . . . . . . . . . . . . . . . . . . . 360
textdomain(), gettext . . . . . . 241
Thread(), threading . . . . . . . . 321
THURSDAY, calendar . . . . . . . . . . 419
time(), time . . . . . . . . . . . . . . . . . . 294
timegm(), calendar . . . . . . . . . . 421
times(), os . . . . . . . . . . . . . . . . . . . 278
timezone, time . . . . . . . . . . . . . . . 294
title(), string
unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
TMP_MAX, os . . . . . . . . . . . . . . . . . . . 275
tmpfile(), os . . . . . . . . . . . . . . . . .270
tmpnam(), os . . . . . . . . . . . . . . . . . . 275
traceback, . . 169, 193, 204,
208
tracebacklimit, sys . . . . . . . . 197
TracebackType, types . . . . . . . 204
translate()
string . . . . . . . . . . . . . . . . 142
unicode . . . . . . . . . . . . . . . 144
string . . . . . . . . . . . . . . . . . . . . . . . 219
translation(), gettext . . . . 242
truncate(), file . . . . . . 164
truth(), operator . . . . . . . . . . . 205
450
try, . . . . . . . . . . . . . 21, 77, 124, 182
ttyname(), os . . . . . . . . . . . . . . . . .272
TUESDAY, calendar . . . . . . . . . . . 419
tuple, . . . . .53, 135, 144, 202
tuple(), . . . . . . . . . . . 180
TupleType, types . . . . . . . . . . . . 202
type, . . . . . . . . . . . . . . . 165, 202
type(), . . . . . . . 165, 180
TypeError, . . . . . . . . . 44, 77, 186
TypeType, types . . . . . . . . . . . . . . 202
tzname, time . . . . . . . . . . . . . . . . . . 294
U
U, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
umask(), os . . . . . . . . . . . . . . . . . . . 269
uname(), os . . . . . . . . . . . . . . . . . . . 269
UnboundLocalError, . . . . . . 185
UnboundMethodType, types . .203
unichr(), . . . . . . . . . . 180
UNICODE, re . . . . . . . . . . . . . . . . . . . 227
unicode, . 30, 135, 136, 143,
145, 202
unicode(), . . . . 31, 180
UnicodeError, . . . 109, 142, 186
UnicodeType, types . . . . . . . . . . 202
uniform()
random . . . . . . . . . . . . . . . . . . . . . . . 250
whrandom . . . . . . . . . . . . . . . 250, 251
unlink(), os . . . . . . . . . . . . . . . . . . 274
unpack(), struct . . . . . . . . . . . . 264
Unpacker(), xdrlib . . . . . . . . . . 379
Unpickler(), pickle
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
UnpicklingError, pickle
cPickle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
unquote(), urllib . . . . . . . . . . . 364
unquote_plus(), urllib . . . . 365
unregister(), select . . . . . . . 314
update(), dictionary 148
upper()
string unicode . . . . 143
string . . . . . . . . . . . . . . . . . . . . . . . 219
uppercase, string . . . . . . . . . . . 218
URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388, 406
URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363, 367
urlcleanup(), urllib . . . . . . . 364
urlencode(), urllib . . . . . . . . 365
urljoin(), urlparse . . . . . . . . 368
urlopen(), urllib . . . . . . . . . . . 364
URLopener(), urllib . . . . . . . . 365
urlparse(), urlparse . . . . . . . 367
urlretrieve(), urllib . . . . . . 364
urlunparse(), urlparse . . . . 368
UserDict(), UserDict . . . . . . . 257
UserList(), UserList . . . . . . . 256
UserString(), UserString . .255
UTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
utime(), os . . . . . . . . . . . . . . . . . . . 276
V
ValueError, . . . . . . . . . . . . . . . . 186
values(), dictionary 148
vars(), . . . . . . . . .72, 181
VERBOSE, re . . . . . . . . . . . . . . . . . . . 226
version
sys . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
urllib . . . . . . . . . . . . . . . . . . . . . . . 366
version_info, sys . . . . . . . . . . . 198
vonmisesvariate(), random 249
W
W_OK, os . . . . . . . . . . . . . . . . . . . . . . . 273
wait(), os . . . . . . . . . . . . . . . . . . . . . 278
waitpid(), os . . . . . . . . . . . . . . . . .278
walk(), os.path . . . . . . . . . . . . . . 283
WEDNESDAY, calendar . . . . . . . . 419
weekday(), calendar . . . . . . . . 420
weibullvariate(), random . .250
WEXITSTATUS(), os . . . . . . . . . . . 279
whichdb(), whichdb . . . . . . . . . . 330
while, . . . . . 34, 39, 110, 116, 122
whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . 143, 218
whitespace, string . . . . . . . . . . 218
whrandom(), whrandom . . . . . . . 250
WIFEXITED(), os . . . . . . . . . . . . . . 279
WIFSIGNALED(), os . . . . . . . . . . . 279
WIFSTOPPED(), os . . . . . . . . . . . . 278
WindowsError, . . . . . . . . . . . . . 184
winver, sys . . . . . . . . . . . . . . . . . . . 198
WNOHANG, os . . . . . . . . . . . . . . . . . . . 278
write()
file . . . . . . . . . . 74, 116, 164
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
writelines(), file . . . 164
WSTOPSIG(), os . . . . . . . . . . . . . . . 279
WTERMSIG(), os . . . . . . . . . . . . . . . 279
X
X, re . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
X_OK, os . . . . . . . . . . . . . . . . . . . . . . . 273
XDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388, 392, 404
XML_ERROR_*,
xml.parsers.expat.errors . . . . . . 389
XMLFilterBase(),
xml.sax.saxutils . . . . . . . . . . . . . . . . . 398
XMLGenerator(),
xml.sax.saxutils . . . . . . . . . . . . . . . . . 398
XMLParser(), xmllib . . . . . . . . 404
XMLParserType,
xml.parsers.expat . . . . . . . . . . . . . . . 389
XMLReader(),
xml.sax.xmlreader . . . . . . . . . . . . . . . 399
xor(), operator . . . . . . . . . . . . . . 205
xrange, . . . . . . . 135, 144, 202
xrange(), . . . . . . 37, 181
XRangeType, types . . . . . . . . . . . 202
Z
Z_BEST_COMPRESSION, zlib . .333
Z_BEST_SPEED, zlib . . . . . . . . . . 333
Z_DEFAULT_COMPRESSION, zlib
333
Z_DEFAULT_STRATEGY, zlib . .334
Z_DEFLATED, zlib . . . . . . . . . . . . 334
Z_FILTERED, zlib . . . . . . . . . . . . 334
Z_FINISH, zlib . . . . . . . . . . . . . . . 335
Z_FULL_FLUSH, zlib . . . . . . . . . . 335
Z_HUFFMAN_ONLY, zlib . . . . . . . 334
Z_NO_COMPRESSION, zlib . . . . 333
Z_SYNC_FLUSH, zlib . . . . . . . . . . 335
ZeroDivisionError, . . 77, 183
zfill(), string . . . . . . . . . . . . . . 218
zip(), . . . . . . . . . . 50, 181
ZIP_DEFLATED, zipfile . . . . . . 337
ZIP_STORED, zipfile . . . . . . . . 337
ZipFile(), zipfile . . . . . . . . . . 337
ZipInfo(), zipfile . . . . . . . . . . 337
ZLIB_VERSION, zlib . . . . . . . . . . 333
. . . . . . . . . . . . . . . . . . 42
. . . . . . . . . . . 43, 44, 46, 107, 108
. . . . . . . . . . . . . . . . 43, 44, 46, 107
23, 108, 133, 134,
160
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83, 86
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
. . . . . . . . . . . . . . . . . . 108, 160
. . . . . . . . . . . . . . . . . . . . . . . . . 143, 218
451
. . . . . . . . . . . . . . . . . . . . . . . . . . . 143, 217
452
setattr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
slice() . . . . . . . . . . . . . . . . . . . . . . . . . . . 166, 180
str() . . . . . . . . . . . . . . . . . . . . . . 68, 71, 159, 180
tuple() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
type() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165, 180
unichr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
unicode() . . . . . . . . . . . . . . . . . . . . . . . . . 31, 180
vars() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72, 181
xrange() . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 181
zip() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50, 181
buffer . . . . . . . . . . . . . . . . . . . . . . . 135, 145, 202
builtin_function_or_method . 150, 203
class . . . . . . . . . . . . . . . . . . . . 85, 151, 152, 203
code . . . . . . . . . . . . . . . . . . . . . . . . . . 166, 203, 263
complex . . . . . . . . . . . . . . . . . . . . . . . 24, 131, 202
dictionary . . . . . . . . . . 55, 95, 147, 155, 203
ellipsis . . . . . . . . . . . . . . . . . . . . . . . . . 166, 203
file . . . . . . . . . . . . . . . . . . . . . . 72, 163, 203, 311
float . . . . . . . . . . . . . . . . . . . . 24, 131, 132, 202
frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168, 204
function . . . . . . . . . . . . . . . 125, 149, 152, 203
instance . . . . . . . . . . . . . . . . 86, 151, 152, 203
instance method . . . . . . . . . . . . . . . . . 87, 149
int . . . . . . . . . . . . . . . . . . . . . . . 23, 131, 132, 202
list . . . . . . . . . . 32, 47, 48, 51, 135, 145, 202
long int . . . . . . . . . . . . . . . . . . . . 131, 132, 202
method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151, 203
None . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165, 202
slice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166, 203
string . . . . . . . . . . . . . . 26, 135, 136, 145, 202
traceback . . . . . . . . . . . . . . 169, 193, 204, 208
tuple . . . . . . . . . . . . . . . . . . . . 53, 135, 144, 202
type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165, 202
unicode . . . . . . . . 30, 135, 136, 143, 145, 202
xrange . . . . . . . . . . . . . . . . . . . . . . . 135, 144, 202
, . . . . 115, 163, 178,
197, 288
. . . . . . . 46, 107, 148, 149, 156
. . . . . . . . . . . . . . . . . . . . . . . . . . .104, 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
, . long int
40, 45, 61, 149152, 168
. 83, 85, 86, 106,
151, 155
/
28, 107, 135, 145, 147, 157, 206
. . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
. . . . . . . . . 145
. 43, 44, 46, 107, 108
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
RuntimeError . . . . . . . . . . . . . . . . . . . . . . . . . 185
StandardError . . . . . . . . . . . . . . . . . . . . . . . 183
SyntaxError . . . . . . . . . . . . . . . . . . . . . . 28, 185
SystemError . . . . . . . . . . . . . . . . . . . . . . . . . . 186
SystemExit . . . . . . . . . . . . 186, 194, 318, 319
TabError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
TypeError . . . . . . . . . . . . . . . . . . . . . 44, 77, 186
UnboundLocalError . . . . . . . . . . . . . . . . . . 185
UnicodeError . . . . . . . . . . . . . . . 109, 142, 186
ValueError . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
WindowsError . . . . . . . . . . . . . . . . . . . . . . . . . 184
ZeroDivisionError . . . . . . . . . . . . . . 77, 183
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . . . . 110, 205
, . class
. . . . . . . . . . . . . . . . . . . . . . . . . . .105
, . complex
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . . . . . . . 334
, . tuple
. . . . . . . . . . . . 57
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
. . . . . . . . . . . . . . . . . . 106
. . . . . . . . . . . . . . . . 56, 110
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
, .
builtin_function_or_method
, .
instance method
, . instance method
. . . . . . . . . . . . . . 34
, . module
. . . . . . . . . . . . . . . . . . . . . . . . .84
27, 135, 205
Ellipsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
None . . . . . . . . . . . . . . . . . . . . . . . 41, 43, 110, 165
453
** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161
+, 27, 108, 133, 135, 161, 204, 205
+, . . . . . . . . . . . . . . . 108, 134, 160, 204
-, . . . . . . . . . . . . . 108, 133, 161, 204
-, . . . . . . . . . . . . . . . 108, 134, 160, 204
. . . . . . . . . . . . . . . . . . . 83, 85, 86, 106, 151, 155
/ . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161, 204
< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
<= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
<> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
<< . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161, 205
== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
>= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
>> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161
[] . . . . 28, 107, 135, 145147, 157, 166, 206
% . . . . . . . . . . . 68, 108, 134, 137, 159, 161, 204
& . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161, 205
^ . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161, 205
| . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 161, 205
~ . . . . . . . . . . . . . . . . . . . . . . . . . 108, 134, 160, 205
and . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 111
in . . . . . . . . . . . . . . . . . . . .56, 110, 135, 159, 205
is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 109
is not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 110
lambda . . . . . . . . . . . . . . . . . . . . . . . . 45, 111, 149
not . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 111, 205
not in . . . . . . . . . . . . . . . . . . . 56, 110, 135, 159
or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56, 111
. . . . . . . . . . . . . . . 46, 107, 148, 149, 156
83, 85, 86, 106, 151, 155
/ . . 28,
107, 135, 145, 147, 157, 206
. .27, 135,
205
. 27, 135,
205
. . . . . . . . . . . . . . . . . 28, 107, 135, 146, 206
. . . . . . . . . . . . . . 107, 166
. . . . . . . . . . . . . . . 68, 137, 159
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
. . . . . . . . . . . . . . . . . .120
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48, 325
454
, . . . . 163, 197, 288
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
LANG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240, 242
LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . 240, 242
LC_ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240, 242
LC_MESSAGES . . . . . . . . . . . . . . . . . . . . . 240, 242
PYTHONDEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . 426
PYTHONHOME . . . . . . . . . . . . . . . . . . . . . . . . . . . .427
PYTHONINSPECT . . . . . . . . . . . . . . . . . . . . . . . 426
PYTHONOPTIMIZE . . . . . . . . . . . . . . . . . . 61, 427
PYTHONPATH . . . . . . . . . . 61, 62, 119, 196, 427
PYTHONSTARTUP . . . . . . . . . . . . . . . 21, 191, 427
PYTHONUNBUFFERED . . . . . . . . . . . . . . . . . . . 427
PYTHONVERBOSE . . . . . . . . . . . . . . . . . . . . . . . 427
PYTHONY2K . . . . . . . . . . . . . . . . . . . . . . . . 290, 291
. . . . . . . 43, 44, 46, 107
. . . . . . . . . . . . . . . 192
. . . . . . . . . . . . . . . . . . . . . . .135
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
. . . . . . . . . . . . . . . . . . . . . . . . . 24, 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
. . . . . . . . . . . . . . . . . . . . 143, 218
. . . . . . . . . . . . . . . . . . . . . . . . . 83
. . . . . . . . . . . . . . . . . . . . . . . 128
. . . . . . . . . . . . . . . . . . . . . . 112
27, 135, 205
. . . . . . . . . . . 107, 166
. . . . . . . . . . . . . . . . . . . 220
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
, . whitespace
, . dictionary
. . . . . . . . . . . . . . . . . . . . 121
. . . . . . . . . . . . . . . . . . . . . . 153
, . list
. . . . . . . . . . . . 34, 108, 109
. . . . . . . . . . . . . . 107, 166
. . . . . . . . . 28, 107, 135, 146, 206
. . . . . . . . . . . . . . . . . . . . . . . 163, 197, 288
. . . . . . . . . . . . . . . . . . . . .163, 178, 197, 288
. . . . . . . . . . . . . . 115, 163, 178, 197, 288
. . . . . . . . . . . . . . . . . . . . . 90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
, . string
. . . . . 40, 45, 61, 149152, 168
Unicode, . unicode
. . . . . . . . 68, 159, 179
. . . . . . . . . . . . . . . . . . . . . . 136
. . . . . . . . . . . . . . . . . . . . . 143, 217
. . . . . . . . . . . . . . . . . . . . . . . 56
, . . . . . . . . . . . . . . . . . . . . . . . . . 298
. . . . . . . 68, 137, 159
, .
builtin_function_or_method
, . function
. . . . . . . . . . . . . . . . . . . 134
, . int
. . . . . . . . . . . . . . . . . . . . . . . . . .88
, . float
, . long int
, . complex
, . float
, . int
. . . . . . . . . . . . . . . . . . . . . . . 131
, . instance
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289