Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

<> Dian Zi Shu He Pei Tao Dai Ma "The Python Standard Library by Example" ebook and source code Yi Ben You Hou You Quan De Jiang Jie Python3Biao Zhun Ku De Shu Ji (1000Duo Ye )Gua He Dang Zuo Zi Dian Can Kao Huo Zhe Xian Xia Shi Man Man Yue Du .

Notifications You must be signed in to change notification settings

bat67/The-Python-Standard-Library-by-Example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

9 Commits

Repository files navigation

The Python Standard Library by Example | Python3 Biao Zhun Ku

"The Python Standard Library by Example" ebook and source code

<> Dian Zi Shu He Pei Tao Dai Ma

Yi Ben You Hou You Quan De Jiang Jie Python3Biao Zhun Ku De Shu Ji (1000Duo Ye )!Gua He Dang Zuo Zi Dian Can Kao Huo Zhe Xian Xia Shi Man Man Yue Du .

Dian Zi Shu Jian Ben Cang Ku Zhong :The Python Standard Library by Example.pdf

E-book: The Python Standard Library by Example.pdf in this repo

Zhong Wen Ban Ben

Zhong Wen Mu Lu

Zhan Kai Cha Kan

  • Yi Zhe Xu

  • Qian Yan

  • Di 1Zhang Wen Ben 1

  • 1.1 string:Wen Ben Chang Liang He Mo Ban 1

  • 1.1.1 Han Shu 1

  • 1.1.2 Mo Ban 2

  • 1.1.3 Gao Ji Mo Ban 3

  • 1.1.4 Formatter 5

  • 1.1.5 Chang Liang 5

  • 1.2 textwrap:Ge Shi Hua Wen Ben Duan Luo 6

  • 1.2.1 Shi Li Shu Ju 6

  • 1.2.2 Tian Chong Duan Luo 7

  • 1.2.3 Qu Chu Xian You De Suo Jin 7

  • 1.2.4 Jie He dedentHe fill 8

  • 1.2.5 Suo Jin Kuai 8

  • 1.2.6 Xuan Gua Suo Jin 10

  • 1.2.7 Jie Duan Chang Wen Ben 10

  • 1.3 re:Zheng Ze Biao Da Shi 11

  • 1.3.1 Cha Zhao Wen Ben Zhong De Mo Shi 11

  • 1.3.2 Bian Yi Biao Da Shi 12

  • 1.3.3 Duo Zhong Pi Pei 13

  • 1.3.4 Mo Shi Yu Fa 14

  • 1.3.5 Xian Zhi Sou Suo 22

  • 1.3.6 Yong Zu Jie Xi Pi Pei 24

  • 1.3.7 Sou Suo Xuan Xiang 29

  • 1.3.8 Qian Xiang Huo Hou Xiang 35

  • 1.3.9 Zi Yin Yong Biao Da Shi 38

  • 1.3.10 Yong Mo Shi Xiu Gai Zi Fu Chuan 42

  • 1.3.11 Li Yong Mo Shi Chai Fen 44

  • 1.4 difflib:Bi Jiao Xu Lie 46

  • 1.4.1 Bi Jiao Wen Ben Ti 47

  • 1.4.2 Wu Yong Shu Ju 49

  • 1.4.3 Bi Jiao Ren Yi Lei Xing 50

  • Di 2Zhang Shu Ju Jie Gou 52

  • 2.1 enum:Mei Ju Lei Xing 53

  • 2.1.1 Chuang Jian Mei Ju 53

  • 2.1.2 Die Dai 53

  • 2.1.3 Bi Jiao Enum 54

  • 2.1.4 Wei Yi Mei Ju Zhi 55

  • 2.1.5 Tong Guo Bian Cheng Chuang Jian Mei Ju 56

  • 2.1.6 Fei Zheng Shu Cheng Yuan Zhi 58

  • 2.2 collections:Rong Qi Shu Ju Lei Xing 60

  • 2.2.1 ChainMap:Sou Suo Duo Ge Zi Dian 60

  • 2.2.2 Counter:Tong Ji Ke San Lie De Dui Xiang 63

  • 2.2.3 defaultdict:Que Shao De Jian Fan Hui Yi Ge Mo Ren Zhi 66

  • 2.2.4 deque:Shuang Duan Dui Lie 67

  • 2.2.5 namedtuple:Dai Ming Ming Zi Duan De Yuan Zu Zi Lei 70

  • 2.2.6 OrderedDict:Ji Zhu Xiang Zi Dian Zhong Zeng Jia Jian De Shun Xu 74

  • 2.2.7 collections.abc:Rong Qi De Chou Xiang Ji Lei 76

  • 2.3 Shu Zu :Gu Ding Lei Xing Shu Ju Xu Lie 78

  • 2.3.1 Chu Shi Hua 78

  • 2.3.2 Chu Li Shu Zu 79

  • 2.3.3 Shu Zu He Wen Jian 79

  • 2.3.4 Hou Xuan Zi Jie Shun Xu 80

  • 2.4 heapq:Dui Pai Xu Suan Fa 81

  • 2.4.1 Shi Li Shu Ju 81

  • 2.4.2 Chuang Jian Dui 82

  • 2.4.3 Fang Wen Dui De Nei Rong 83

  • 2.4.4 Dui De Shu Ju Ji Zhi 85

  • 2.4.5 Gao Xiao He Bing You Xu Xu Lie 85

  • 2.5 bisect:Wei Hu You Xu Lie Biao 86

  • 2.5.1 You Xu Cha Ru 86

  • 2.5.2 Chu Li Zhong Fu 87

  • 2.6 queue:Xian Cheng An Quan De FIFOShi Xian 88

  • 2.6.1 Ji Ben FIFODui Lie 88

  • 2.6.2 LIFODui Lie 89

  • 2.6.3 You Xian Dui Lie 89

  • 2.6.4 Gou Jian Yi Ge Duo Xian Cheng Bo Ke Ke Hu Cheng Xu 90

  • 2.7 struct:Er Jin Zhi Shu Ju Jie Gou 93

  • 2.7.1 Han Shu Yu StructLei 93

  • 2.7.2 Da Bao He Jie Bao 93

  • 2.7.3 Zi Jie Xu 94

  • 2.7.4 Huan Chong Qu 95

  • 2.8 weakref:Dui Xiang De Fei Yong Jiu Yin Yong 96

  • 2.8.1 Yin Yong 96

  • 2.8.2 Yin Yong Hui Diao 97

  • 2.8.3 Zui Zhong Hua Dui Xiang 98

  • 2.8.4 Dai Li 100

  • 2.8.5 Huan Cun Dui Xiang 101

  • 2.9 copy:Fu Zhi Dui Xiang 103

  • 2.9.1 Qian Fu Ben 103

  • 2.9.2 Shen Fu Ben 104

  • 2.9.3 Ding Zhi Fu Zhi Xing Wei 105

  • 2.9.4 Shen Fu Ben Zhong De Di Gui 106

  • 2.10 pprint:Mei Guan Da Yin Shu Ju Jie Gou 107

  • 2.10.1 Da Yin 108

  • 2.10.2 Ge Shi Hua 108

  • 2.10.3 Ren Yi Lei 109

  • 2.10.4 Di Gui 110

  • 2.10.5 Xian Zhi Qian Tao Shu Chu 110

  • 2.10.6 Kong Zhi Shu Chu Kuan Du 111

  • Di 3Zhang Suan Fa 113

  • 3.1 functools:Guan Li Han Shu De Gong Ju 113

  • 3.1.1 Xiu Shi Fu 113

  • 3.1.2 Bi Jiao 119

  • 3.1.3 Huan Cun 122

  • 3.1.4 Suo Jian Shu Ju Ji 125

  • 3.1.5 Fan Xing Han Shu 127

  • 3.2 itertools:Die Dai Qi Han Shu 129

  • 3.2.1 He Bing He Fen Jie Die Dai Qi 129

  • 3.2.2 Zhuan Huan Shu Ru 132

  • 3.2.3 Sheng Cheng Xin Zhi 133

  • 3.2.4 Guo Lu 135

  • 3.2.5 Shu Ju Fen Zu 138

  • 3.2.6 He Bing Shu Ru 139

  • 3.3 operator:Nei Zhi Cao Zuo Fu De Han Shu Jie Kou 144

  • 3.3.1 Luo Ji Cao Zuo 144

  • 3.3.2 Bi Jiao Cao Zuo Fu 145

  • 3.3.3 Suan Zhu Cao Zuo Fu 145

  • 3.3.4 Xu Lie Cao Zuo Fu 146

  • 3.3.5 Yuan Di Cao Zuo Fu 148

  • 3.3.6 Shu Xing He Yuan Su "Huo Qu Fang Fa " 148

  • 3.3.7 Jie He Cao Zuo Fu He Ding Zhi Lei 150

  • 3.4 contextlib:Shang Xia Wen Guan Li Qi Gong Ju 151

  • 3.4.1 Shang Xia Wen Guan Li Qi API 151

  • 3.4.2 Shang Xia Wen Guan Li Qi Zuo Wei Han Shu Xiu Shi Fu 153

  • 3.4.3 Cong Sheng Cheng Qi Dao Shang Xia Wen Guan Li Qi 154

  • 3.4.4 Guan Bi Da Kai De Ju Bing 156

  • 3.4.5 Hu Lue Yi Chang 157

  • 3.4.6 Zhong Ding Xiang Shu Chu Liu 158

  • 3.4.7 Dong Tai Shang Xia Wen Guan Li Qi Zhan 159

  • Di 4Zhang Ri Qi He Shi Jian 166

  • 4.1 time:Shi Zhong Shi Jian 166

  • 4.1.1 Bi Jiao Shi Zhong 166

  • 4.1.2 Qiang Shang Shi Zhong Shi Jian 167

  • 4.1.3 Dan Diao Shi Zhong 168

  • 4.1.4 Chu Li Qi Shi Zhong Shi Jian 169

  • 4.1.5 Xing Neng Ji Shu Qi 170

  • 4.1.6 Shi Jian Zu Cheng 170

  • 4.1.7 Chu Li Shi Qu 171

  • 4.1.8 Jie Xi He Ge Shi Hua Shi Jian 172

  • 4.2 datetime:Ri Qi He Shi Jian Zhi Guan Li 174

  • 4.2.1 Shi Jian 174

  • 4.2.2 Ri Qi 175

  • 4.2.3 timedelta 177

  • 4.2.4 Ri Qi Suan Zhu Yun Suan 178

  • 4.2.5 Bi Jiao Zhi 179

  • 4.2.6 Jie He Ri Qi He Shi Jian 179

  • 4.2.7 Ge Shi Hua He Jie Xi 180

  • 4.2.8 Shi Qu 182

  • 4.3 calendar:Chu Li Ri Qi 183

  • 4.3.1 Ge Shi Hua Shi Li 183

  • 4.3.2 Ben Di Hua Huan Jing 185

  • 4.3.3 Ji Suan Ri Qi 186

  • Di 5Zhang Shu Xue Yun Suan 188

  • 5.1 decimal:Ding Dian Shu He Fu Dian Shu De Shu Xue Yun Suan 188

  • 5.1.1 Decimal 188

  • 5.1.2 Ge Shi Hua 189

  • 5.1.3 Suan Zhu Yun Suan 190

  • 5.1.4 Te Shu Zhi 191

  • 5.1.5 Shang Xia Wen 192

  • 5.2 fractions:You Li Shu 196

  • 5.2.1 Chuang Jian FractionShi Li 197

  • 5.2.2 Suan Zhu Yun Suan 198

  • 5.2.3 Jin Si Zhi 199

  • 5.3 random:Wei Sui Ji Shu Sheng Cheng Qi 199

  • 5.3.1 Sheng Cheng Sui Ji Shu 200

  • 5.3.2 Zhi Ding Chong Zi 200

  • 5.3.3 Bao Cun Zhuang Tai 201

  • 5.3.4 Sui Ji Zheng Shu 202

  • 5.3.5 Xuan Ze Sui Ji Yuan Su 203

  • 5.3.6 Pai Lie 203

  • 5.3.7 Cai Yang 205

  • 5.3.8 Duo Ge Bing Fa Sheng Cheng Qi 205

  • 5.3.9 SystemRandom 206

  • 5.3.10 Fei Jun Yun Fen Bu 207

  • 5.4 math:Shu Xue Han Shu 208

  • 5.4.1 Te Shu Chang Liang 208

  • 5.4.2 Ce Shi Yi Chang Zhi 208

  • 5.4.3 Bi Jiao 210

  • 5.4.4 Jiang Fu Dian Zhi Zhuan Huan Wei Zheng Shu 212

  • 5.4.5 Fu Dian Zhi De Qi Ta Biao Shi 213

  • 5.4.6 Zheng Hao He Fu Hao 214

  • 5.4.7 Chang Yong Ji Suan 215

  • 5.4.8 Zhi Shu He Dui Shu 218

  • 5.4.9 Jiao 222

  • 5.4.10 San Jiao Han Shu 224

  • 5.4.11 Shuang Qu Han Shu 226

  • 5.4.12 Te Shu Han Shu 227

  • 5.5 statistics:Tong Ji Ji Suan 228

  • 5.5.1 Ping Jun Zhi 228

  • 5.5.2 Fang Chai 230

  • Di 6Zhang Wen Jian Xi Tong 232

  • 6.1 os.path:Ping Tai Du Li De Wen Jian Ming Guan Li 233

  • 6.1.1 Jie Xi Lu Jing 233

  • 6.1.2 Jian Li Lu Jing 236

  • 6.1.3 Gui Fan Hua Lu Jing 237

  • 6.1.4 Wen Jian Shi Jian 238

  • 6.1.5 Ce Shi Wen Jian 238

  • 6.2 pathlib:Wen Jian Xi Tong Lu Jing Zuo Wei Dui Xiang 240

  • 6.2.1 Lu Jing Biao Shi 240

  • 6.2.2 Jian Li Lu Jing 240

  • 6.2.3 Jie Xi Lu Jing 242

  • 6.2.4 Chuang Jian Ju Ti Lu Jing 243

  • 6.2.5 Mu Lu Nei Rong 244

  • 6.2.6 Du Xie Wen Jian 246

  • 6.2.7 Guan Li Mu Lu He Fu Hao Lian Jie 246

  • 6.2.8 Wen Jian Lei Xing 247

  • 6.2.9 Wen Jian Shu Xing 248

  • 6.2.10 Quan Xian 250

  • 6.2.11 Shan Chu 250

  • 6.3 glob:Wen Jian Ming Mo Shi Pi Pei 252

  • 6.3.1 Shi Li Shu Ju 252

  • 6.3.2 Tong Pei Fu 252

  • 6.3.3 Dan Zi Fu Tong Pei Fu 253

  • 6.3.4 Zi Fu Qu Jian 253

  • 6.3.5 Zhuan Yi Yuan Zi Fu 254

  • 6.4 fnmatch:UNIXShi globMo Shi Pi Pei 254

  • 6.4.1 Jian Dan Pi Pei 254

  • 6.4.2 Guo Lu 255

  • 6.4.3 Zhuan Huan Mo Shi 256

  • 6.5 linecache:Gao Xiao Du Qu Wen Ben Wen Jian 257

  • 6.5.1 Ce Shi Shu Ju 257

  • 6.5.2 Du Qu Te Ding Xing 257

  • 6.5.3 Chu Li Kong Xing 258

  • 6.5.4 Cuo Wu Chu Li 258

  • 6.5.5 Du Qu PythonYuan Wen Jian 259

  • 6.6 tempfile:Lin Shi Wen Jian Xi Tong Dui Xiang 260

  • 6.6.1 Lin Shi Wen Jian 260

  • 6.6.2 Ming Ming Wen Jian 262

  • 6.6.3 Jia Tuo Ji Wen Jian 262

  • 6.6.4 Lin Shi Mu Lu 263

  • 6.6.5 Yu Ce Ming 264

  • 6.6.6 Lin Shi Wen Jian Wei Zhi 264

  • 6.7 shutil:Gao Ceng Wen Jian Cao Zuo 265

  • 6.7.1 Fu Zhi Wen Jian 265

  • 6.7.2 Fu Zhi Wen Jian Yuan Shu Ju 268

  • 6.7.3 Chu Li Mu Lu Shu 269

  • 6.7.4 Cha Zhao Wen Jian 271

  • 6.7.5 Gui Dang 272

  • 6.7.6 Wen Jian Xi Tong Kong Jian 275

  • 6.8 filecmp:Bi Jiao Wen Jian 276

  • 6.8.1 Shi Li Shu Ju 276

  • 6.8.2 Bi Jiao Wen Jian 278

  • 6.8.3 Bi Jiao Mu Lu 279

  • 6.8.4 Zai Cheng Xu Zhong Shi Yong Chai Yi 280

  • 6.9 mmap:Nei Cun Ying She Wen Jian 283

  • 6.9.1 Du Wen Jian 284

  • 6.9.2 Xie Wen Jian 285

  • 6.9.3 Zheng Ze Biao Da Shi 286

  • 6.10 codecs:Zi Fu Chuan Bian Ma He Jie Ma 287

  • 6.10.1 UnicodeRu Men 287

  • 6.10.2 Chu Li Wen Jian 289

  • 6.10.3 Zi Jie Xu 291

  • 6.10.4 Cuo Wu Chu Li 293

  • 6.10.5 Bian Ma Zhuan Huan 295

  • 6.10.6 Fei UnicodeBian Ma 296

  • 6.10.7 Zeng Liang Bian Ma 297

  • 6.10.8 UnicodeShu Ju He Wang Luo Tong Xin 299

  • 6.10.9 Ding Yi Ding Zhi Bian Ma 301

  • 6.11 io:Wen Ben , Shi Jin Zhi He Yuan Shi Liu I/OGong Ju 307

  • 6.11.1 Nei Cun Zhong De Liu 307

  • 6.11.2 Wei Wen Ben Shu Ju Bao Zhuang Zi Jie Liu 308

  • Di 7Zhang Shu Ju Chi Jiu Cun Chu Yu Jiao Huan 310

  • 7.1 pickle:Dui Xiang Chuan Xing Hua 311

  • 7.1.1 Bian Ma He Jie Ma Zi Fu Chuan Zhong De Shu Ju 311

  • 7.1.2 Chu Li Liu 312

  • 7.1.3 Zhong Gou Dui Xiang De Wen Ti 313

  • 7.1.4 Bu Ke An Zhi De Dui Xiang 314

  • 7.1.5 Xun Huan Yin Yong 316

  • 7.2 shelve:Dui Xiang De Chi Jiu Cun Chu 318

  • 7.2.1 Chuang Jian Yi Ge Xin shelf 318

  • 7.2.2 Xie Hui 319

  • 7.2.3 Te Ding shelfLei Xing 320

  • 7.3 dbm:UNIXJian -Zhi Shu Ju Ku 320

  • 7.3.1 Shu Ju Ku Lei Xing 321

  • 7.3.2 Chuang Jian Yi Ge Xin Shu Ju Ku 321

  • 7.3.3 Da Kai Yi Ge Xian You Shu Ju Ku 322

  • 7.3.4 Cuo Wu Qing Kuang 322

  • 7.4 sqlite3:Qian Ru Shi Guan Xi Shu Ju Ku 323

  • 7.4.1 Chuang Jian Shu Ju Ku 323

  • 7.4.2 Huo Qu Shu Ju 326

  • 7.4.3 Cha Xun Yuan Shu Ju 327

  • 7.4.4 Xing Dui Xiang 328

  • 7.4.5 Zai Cha Xun Zhong Shi Yong Bian Liang 329

  • 7.4.6 Pi Liang Jia Zai 331

  • 7.4.7 Ding Yi Xin De Lie Lei Xing 331

  • 7.4.8 Que Ding Lie Lei Xing 334

  • 7.4.9 Shi Wu 336

  • 7.4.10 Ge Chi Ji Bie 338

  • 7.4.11 Nei Cun Zhong De Shu Ju Ku 341

  • 7.4.12 Dao Chu Shu Ju Ku Nei Rong 341

  • 7.4.13 Zai SQLZhong Shi Yong PythonHan Shu 342

  • 7.4.14 Dai Zheng Ze Biao Da Shi De Cha Xun 344

  • 7.4.15 Ding Zhi Ju Ji 345

  • 7.4.16 Xian Cheng He Lian Jie Gong Xiang 346

  • 7.4.17 Xian Zhi Dui Shu Ju De Fang Wen 347

  • 7.5 xml.etree.ElementTree:XMLCao Zong API 349

  • 7.5.1 Jie Xi XMLWen Dang 349

  • 7.5.2 Bian Li Jie Xi Shu 350

  • 7.5.3 Cha Zhao Wen Dang Zhong De Jie Dian 351

  • 7.5.4 Jie Xi Jie Dian Shu Xing 352

  • 7.5.5 Jie Xi Shi Jian Shi Shi Jian 354

  • 7.5.6 Chuang Jian Yi Ge Ding Zhi Shu Gou Zao Qi 356

  • 7.5.7 Jie Xi Chuan 357

  • 7.5.8 Yong Yuan Su Jie Dian Gou Zao Wen Dang 359

  • 7.5.9 Mei Guan Da Yin XML 359

  • 7.5.10 She Zhi Yuan Su Shu Xing 360

  • 7.5.11 You Jie Dian Lie Biao Gou Zao Shu 362

  • 7.5.12 Jiang XMLChuan Xing Hua Zhi Yi Ge Liu 364

  • 7.6 csv:Dou Hao Fen Ge Zhi Wen Jian 366

  • 7.6.1 Du Wen Jian 366

  • 7.6.2 Xie Wen Jian 367

  • 7.6.3 Fang Yan 368

  • 7.6.4 Shi Yong Zi Duan Ming 373

  • Di 8Zhang Shu Ju Ya Suo Yu Gui Dang 375

  • 8.1 zlib:GNU zlibYa Suo 375

  • 8.1.1 Chu Li Nei Cun Zhong De Shu Ju 375

  • 8.1.2 Zeng Liang Ya Suo Yu Jie Ya Suo 377

  • 8.1.3 Hun He Nei Rong Liu 378

  • 8.1.4 Xiao Yan He 378

  • 8.1.5 Ya Suo Wang Luo Shu Ju 379

  • 8.2 gzip:Du Xie GNU zipWen Jian 382

  • 8.2.1 Xie Ya Suo Wen Jian 382

  • 8.2.2 Du Ya Suo Shu Ju 384

  • 8.2.3 Chu Li Liu 385

  • 8.3 bz2:bzip2Ya Suo 386

  • 8.3.1 Nei Cun Zhong De Yi Ci Xing Cao Zuo 386

  • 8.3.2 Zeng Liang Ya Suo He Jie Ya Suo 388

  • 8.3.3 Hun He Nei Rong Liu 388

  • 8.3.4 Xie Ya Suo Wen Jian 389

  • 8.3.5 Du Ya Suo Wen Jian 390

  • 8.3.6 Du Xie UnicodeShu Ju 391

  • 8.3.7 Ya Suo Wang Luo Shu Ju 392

  • 8.4 tarfile:tarGui Dang Fang Wen 395

  • 8.4.1 Ce Shi tarWen Jian 396

  • 8.4.2 Cong Gui Dang Du Qu Yuan Shu Ju 396

  • 8.4.3 Cong Gui Dang Chou Qu Wen Jian 397

  • 8.4.4 Chuang Jian Xin Gui Dang 399

  • 8.4.5 Shi Yong Hou Xuan Gui Dang Cheng Yuan Ming 399

  • 8.4.6 Cong Fei Wen Jian Yuan Xie Shu Ju 400

  • 8.4.7 Zhui Jia Dao Gui Dang 400

  • 8.4.8 Chu Li Ya Suo Gui Dang 401

  • 8.5 zipfile:ZIPGui Dang Fang Wen 402

  • 8.5.1 Ce Shi ZIPWen Jian 402

  • 8.5.2 Cong Gui Dang Du Qu Yuan Shu Ju 402

  • 8.5.3 Cong Gui Dang Chou Qu Gui Dang Wen Jian 404

  • 8.5.4 Chuang Jian Xin Gui Dang 404

  • 8.5.5 Shi Yong Hou Xuan Gui Dang Cheng Yuan Ming 406

  • 8.5.6 Cong Fei Wen Jian Yuan Xie Shu Ju 406

  • 8.5.7 Li Yong ZipInfoShi Li Xie Shu Ju 407

  • 8.5.8 Zhui Jia Dao Wen Jian 407

  • 8.5.9 Python ZIPGui Dang 408

  • 8.5.10 Xian Zhi 410

  • Di 9Zhang Jia Mi 411

  • 9.1 hashlib:Mi Ma San Lie 411

  • 9.1.1 San Lie Suan Fa 411

  • 9.1.2 Shi Li Shu Ju 412

  • 9.1.3 MD5Shi Li 412

  • 9.1.4 SHA1Shi Li 412

  • 9.1.5 An Ming Chuang Jian San Lie 413

  • 9.1.6 Zeng Liang Geng Xin 413

  • 9.2 hmac:Mi Ma Xiao Xi Qian Ming Yu Yan Zheng 414

  • 9.2.1 Xiao Xi Qian Ming 415

  • 9.2.2 Hou Xuan Zhai Yao Lei Xing 415

  • 9.2.3 Er Jin Zhi Zhai Yao 416

  • 9.2.4 Xiao Xi Qian Ming De Ying Yong 416

  • Di 10 Zhang Shi Yong Jin Cheng , Xian Cheng He Xie Cheng Ti Gong Bing Fa Xing 420

  • 10.1 subprocess:Chuang Jian Fu Jia Jin Cheng 420

  • 10.1.1 Yun Xing Wai Bu Ming Ling 421

  • 10.1.2 Zhi Jie Chu Li Guan Dao 425

  • 10.1.3 Lian Jie Guan Dao Duan 427

  • 10.1.4 Yu Qi Ta Ming Ling Jiao Hu 428

  • 10.1.5 Jin Cheng Jian Chuan Di Xin Hao 430

  • 10.2 signal:Yi Bu Xi Tong Shi Jian 434

  • 10.2.1 Jie Shou Xin Hao 434

  • 10.2.2 Huo Qu Yi Zhu Ce De Chu Li Qi 435

  • 10.2.3 Fa Song Xin Hao 436

  • 10.2.4 Nao Ling 436

  • 10.2.5 Hu Lue Xin Hao 437

  • 10.2.6 Xin Hao He Xian Cheng 438

  • 10.3 threading:Jin Cheng Zhong Guan Li Bing Fa Cao Zuo 440

  • 10.3.1 ThreadDui Xiang 440

  • 10.3.2 Que Ding Dang Qian Xian Cheng 441

  • 10.3.3 Shou Hu Yu Fei Shou Hu Xian Cheng 442

  • 10.3.4 Mei Ju Suo You Xian Cheng 444

  • 10.3.5 Pai Sheng Xian Cheng 445

  • 10.3.6 Ding Shi Qi Xian Cheng 447

  • 10.3.7 Xian Cheng Jian Chuan Song Xin Hao 447

  • 10.3.8 Kong Zhi Zi Yuan Fang Wen 449

  • 10.3.9 Tong Bu Xian Cheng 453

  • 10.3.10 Xian Zhi Zi Yuan De Bing Fa Fang Wen 456

  • 10.3.11 Xian Cheng Te Ding De Shu Ju 457

  • 10.4 multiprocessing:Xiang Xian Cheng Yi Yang Guan Li Jin Cheng 459

  • 10.4.1 multiprocessingJi Chu 460

  • 10.4.2 Ke Dao Ru De Mu Biao Han Shu 461

  • 10.4.3 Que Ding Dang Qian Jin Cheng 461

  • 10.4.4 Shou Hu Jin Cheng 462

  • 10.4.5 Deng Dai Jin Cheng 463

  • 10.4.6 Zhong Zhi Jin Cheng 465

  • 10.4.7 Jin Cheng Tui Chu Zhuang Tai 466

  • 10.4.8 Ri Zhi 467

  • 10.4.9 Pai Sheng Jin Cheng 469

  • 10.4.10 Xiang Jin Cheng Chuan Di Xiao Xi 469

  • 10.4.11 Jin Cheng Jian Xin Hao Chuan Shu 472

  • 10.4.12 Kong Zhi Zi Yuan Fang Wen 473

  • 10.4.13 Tong Bu Cao Zuo 474

  • 10.4.14 Kong Zhi Zi Yuan De Bing Fa Fang Wen 475

  • 10.4.15 Guan Li Gong Xiang Zhuang Tai 476

  • 10.4.16 Gong Xiang Ming Ming Kong Jian 477

  • 10.4.17 Jin Cheng Chi 479

  • 10.4.18 Shi Xian MapReduce 480

  • 10.5 asyncio:Yi Bu I/O, Shi Jian Xun Huan He Bing Fa Gong Ju 484

  • 10.5.1 Yi Bu Bing Fa Gai Nian 484

  • 10.5.2 Li Yong Xie Cheng He Zuo Wan Cheng Duo Ren Wu 485

  • 10.5.3 Diao Du Chang Gui Han Shu Diao Yong 488

  • 10.5.4 Yi Bu Di Sheng Cheng Jie Guo 490

  • 10.5.5 Bing Fa Di Zhi Xing Ren Wu 492

  • 10.5.6 Zu He Xie Cheng He Kong Zhi Jie Gou 495

  • 10.5.7 Tong Bu Yuan Yu 499

  • 10.5.8 Ti Gong Xie Yi Lei Chou Xiang De Yi Bu I/O 505

  • 10.5.9 Shi Yong Xie Cheng He Liu De Yi Bu I/O 510

  • 10.5.10 Shi Yong SSL 514

  • 10.5.11 Yu Yu Ming Fu Wu Jiao Hu 516

  • 10.5.12 Shi Yong Zi Jin Cheng 518

  • 10.5.13 Jie Shou UNIXXin Hao 523

  • 10.5.14 Jie He Shi Yong Xie Cheng , Xian Cheng Yu Jin Cheng 525

  • 10.5.15 Yong asyncioDiao Shi 527

  • 10.6 concurrent.futures:Guan Li Bing Fa Ren Wu Chi 530

  • 10.6.1 Li Yong Ji Ben Xian Cheng Chi Shi Yong map() 531

  • 10.6.2 Diao Du Dan Ge Ren Wu 532

  • 10.6.3 An Ren Yi Shun Xu Deng Dai Ren Wu 532

  • 10.6.4 FutureHui Diao 533

  • 10.6.5 Che Xiao Ren Wu 534

  • 10.6.6 Ren Wu Zhong De Yi Chang 535

  • 10.6.7 Shang Xia Wen Guan Li Qi 536

  • 10.6.8 Jin Cheng Chi 537

  • Di 11 Zhang Wang Luo Tong Xin 539

  • 11.1 ipaddress:InternetDi Zhi 539

  • 11.1.1 Di Zhi 539

  • 11.1.2 Wang Luo 540

  • 11.1.3 Jie Kou 543

  • 11.2 socket:Wang Luo Tong Xin 544

  • 11.2.1 Xun Zhi , Xie Yi Cu He Tao Jie Zi Lei Xing 544

  • 11.2.2 TCP/IPKe Hu He Fu Wu Qi 552

  • 11.2.3 Yong Hu Shu Ju Bao Ke Hu He Fu Wu Qi 558

  • 11.2.4 UNIXYu Tao Jie Zi 560

  • 11.2.5 Zu Bo 563

  • 11.2.6 Fa Song Er Jin Zhi Shu Ju 566

  • 11.2.7 Fei Zu Sai Tong Xin He Chao Shi 568

  • 11.3 selectors:I/ODuo Lu Fu Yong Chou Xiang 568

  • 11.3.1 Cao Zuo Mo Xing 569

  • 11.3.2 Hui Song Fu Wu Qi 569

  • 11.3.3 Hui Song Ke Hu 570

  • 11.3.4 Fu Wu Qi He Ke Hu 571

  • 11.4 select:Gao Xiao Deng Dai I/O 572

  • 11.4.1 Shi Yong select() 572

  • 11.4.2 Dai Chao Shi De Fei Zu Sai I/O 577

  • 11.4.3 Shi Yong poll() 579

  • 11.4.4 Ping Tai Te Ding De Xuan Xiang 582

  • 11.5 socketserver:Chuang Jian Wang Luo Fu Wu Qi 583

  • 11.5.1 Fu Wu Qi Lei Xing 583

  • 11.5.2 Fu Wu Qi Dui Xiang 583

  • 11.5.3 Shi Xian Fu Wu Qi 584

  • 11.5.4 Qing Qiu Chu Li Qi 584

  • 11.5.5 Hui Song Shi Li 584

  • 11.5.6 Xian Cheng He Jin Cheng 588

  • Di 12 Zhang Hu Lian Wang 592

  • 12.1 urllib.parse:Fen Jie URL 592

  • 12.1.1 Jie Xi 593

  • 12.1.2 Fan Jie Xi 595

  • 12.1.3 Lian Jie 596

  • 12.1.4 Jie Ma Cha Xun Can Shu 597

  • 12.2 urllib.request:Wang Luo Zi Yuan Fang Wen 599

  • 12.2.1 HTTP GET 599

  • 12.2.2 Bian Ma Can Shu 600

  • 12.2.3 HTTP POST 601

  • 12.2.4 Tian Jia Fa Chu Shou Bu 602

  • 12.2.5 Cong Qing Qiu Ti Jiao Biao Dan Shu Ju 602

  • 12.2.6 Shang Chuan Wen Jian 603

  • 12.2.7 Chuang Jian Ding Zhi Xie Yi Chu Li Qi 606

  • 12.3 urllib.robotparser: InternetZhi Zhu Fang Wen Kong Zhi * 608

  • 12.3.1 robots.txt 608

  • 12.3.2 Ce Shi Fang Wen Quan Xian 609

  • 12.3.3 Chang Shou Ming Zhi Zhu 610

  • 12.4 base64:Yong ASCIIBian Ma Er Jin Zhi Shu Ju 611

  • 12.4.1 Base64Bian Ma 611

  • 12.4.2 Base64Jie Ma 612

  • 12.4.3 URLAn Quan De Bian Chong 612

  • 12.4.4 Qi Ta Bian Ma 613

  • 12.5 http.server:Shi Xian WebFu Wu Qi De Ji Lei 615

  • 12.5.1 HTTP GET 615

  • 12.5.2 HTTP POST 616

  • 12.5.3 Xian Cheng He Jin Cheng 618

  • 12.5.4 Chu Li Cuo Wu 619

  • 12.5.5 She Zhi Shou Bu 620

  • 12.5.6 Ming Ling Xing Yong Fa 621

  • 12.6 http.cookies:HTTP cookie 622

  • 12.6.1 Chuang Jian He She Zhi cookie 622

  • 12.6.2 Morsel 622

  • 12.6.3 Bian Ma De Zhi 624

  • 12.6.4 Jie Shou He Jie Xi CookieShou Bu 624

  • 12.6.5 Hou Xuan Shu Chu Ge Shi 625

  • 12.7 webbrowser:Xian Shi WebYe Mian 626

  • 12.7.1 Jian Dan Shi Li 626

  • 12.7.2 Chuang Kou Yu Biao Qian Ye 626

  • 12.7.3 Shi Yong Te Ding Liu Lan Qi 627

  • 12.7.4 BROWSERBian Liang 627

  • 12.7.5 Ming Ling Xing Jie Kou 627

  • 12.8 uuid:Quan Ju Wei Yi Biao Shi Fu 628

  • 12.8.1 UUID 1:IEEE 802 MACDi Zhi 628

  • 12.8.2 UUID 3He 5:Ji Yu Ming Zi De Zhi 630

  • 12.8.3 UUID 4:Sui Ji Zhi 631

  • 12.8.4 Chu Li UUIDDui Xiang 631

  • 12.9 json:JavaScriptDui Xiang Ji Fa 632

  • 12.9.1 Bian Ma He Jie Ma Jian Dan Shu Ju Lei Xing 633

  • 12.9.2 Ren Lei Ke Du He Jin Cou Shu Chu 633

  • 12.9.3 Bian Ma Zi Dian 635

  • 12.9.4 Chu Li Ding Zhi Lei Xing 636

  • 12.9.5 Bian Ma Qi He Jie Ma Qi Lei 638

  • 12.9.6 Chu Li Liu He Wen Jian 640

  • 12.9.7 Hun He Shu Ju Liu 641

  • 12.9.8 Ming Ling Xing Shang Chu Li JSON 641

  • 12.10 xmlrpc.client:XML-RPCDe Ke Hu Ku 642

  • 12.10.1 Lian Jie Fu Wu Qi 643

  • 12.10.2 Shu Ju Lei Xing 645

  • 12.10.3 Chuan Di Dui Xiang 648

  • 12.10.4 Er Jin Zhi Shu Ju 648

  • 12.10.5 Yi Chang Chu Li 650

  • 12.10.6 Jiang Diao Yong Zu He Zai Yi Ge Xiao Xi Zhong 650

  • 12.11 xmlrpc.server:Yi Ge XML-RPCFu Wu Qi 652

  • 12.11.1 Yi Ge Jian Dan De Fu Wu Qi 652

  • 12.11.2 Hou Xuan APIMing 653

  • 12.11.3 Jia Dian De APIMing 654

  • 12.11.4 Ren Yi APIMing 655

  • 12.11.5 Gong Bu Dui Xiang De Fang Fa 656

  • 12.11.6 Fen Pai Diao Yong 657

  • 12.11.7 Zi Sheng API 659

  • Di 13 Zhang email 662

  • 13.1 smtplib:Jian Dan You Jian Chuan Shu Xie Yi Ke Hu 662

  • 13.1.1 Fa Song emailXiao Xi 662

  • 13.1.2 Ren Zheng He Jia Mi 663

  • 13.1.3 Yan Zheng emailDi Zhi 666

  • 13.2 smtpd:Shi Li You Jian Fu Wu Qi 667

  • 13.2.1 You Jian Fu Wu Qi Ji Lei 667

  • 13.2.2 Diao Shi Fu Wu Qi 669

  • 13.2.3 Dai Li Fu Wu Qi 670

  • 13.3 mailbox:Guan Li emailGui Dang 670

  • 13.3.1 mbox 671

  • 13.3.2 Maildir 673

  • 13.3.3 Xiao Xi Biao Zhi 678

  • 13.3.4 Qi Ta Ge Shi 680

  • 13.4 imaplib:IMAP4Ke Hu Ku 680

  • 13.4.1 Bian Chong 680

  • 13.4.2 Lian Jie Fu Wu Qi 681

  • 13.4.3 Shi Li Pei Zhi 682

  • 13.4.4 Lie Chu You Xiang 682

  • 13.4.5 You Xiang Zhuang Tai 684

  • 13.4.6 Xuan Ze You Xiang 686

  • 13.4.7 Sou Suo Xiao Xi 686

  • 13.4.8 Sou Suo Gui Ze 687

  • 13.4.9 Huo Qu Xiao Xi 689

  • 13.4.10 Wan Zheng Xiao Xi 693

  • 13.4.11 Shang Chuan Xiao Xi 694

  • 13.4.12 Yi Dong He Fu Zhi Xiao Xi 695

  • 13.4.13 Shan Chu Xiao Xi 696

  • Di 14 Zhang Ying Yong Gou Jian Mo Kuai 699

  • 14.1 argparse:Ming Ling Xing Xuan Xiang He Can Shu Jie Xi 700

  • 14.1.1 Jian Li Jie Xi Qi 700

  • 14.1.2 Ding Yi Can Shu 700

  • 14.1.3 Jie Xi Ming Ling Xing 700

  • 14.1.4 Jian Dan Shi Li 701

  • 14.1.5 Bang Zhu Shu Chu 707

  • 14.1.6 Jie Xi Qi Zu Zhi 711

  • 14.1.7 Gao Ji Can Shu Chu Li 716

  • 14.2 getopt:Ming Ling Xing Xuan Xiang Jie Xi 722

  • 14.2.1 Han Shu Can Shu 722

  • 14.2.2 Duan Ge Shi Xuan Xiang 723

  • 14.2.3 Chang Ge Shi Xuan Xiang 723

  • 14.2.4 Yi Ge Wan Zheng De Li Zi 723

  • 14.2.5 Suo Xie Chang Ge Shi Xuan Xiang 725

  • 14.2.6 GNUShi Xuan Xiang Jie Xi 725

  • 14.2.7 Jie Shu Can Shu Chu Li 726

  • 14.3 readline:GNU readlineKu 727

  • 14.3.1 Pei Zhi readline 727

  • 14.3.2 Wan Cheng Wen Ben 728

  • 14.3.3 Fang Wen Wan Cheng Huan Chong Qu 731

  • 14.3.4 Shu Ru Li Shi 733

  • 14.3.5 hook 736

  • 14.4 getpass:An Quan Mi Ma Ti Shi 737

  • 14.4.1 Shi Li 737

  • 14.4.2 Wu Zhong Duan Shi Yong getpass 738

  • 14.5 cmd:Mian Xiang Xing De Ming Ling Chu Li Qi 739

  • 14.5.1 Chu Li Ming Ling 739

  • 14.5.2 Ming Ling Can Shu 740

  • 14.5.3 Xian Chang Bang Zhu 741

  • 14.5.4 Zi Dong Wan Cheng 742

  • 14.5.5 Fu Gai Ji Lei Fang Fa 744

  • 14.5.6 Tong Guo Shu Xing Pei Zhi Cmd 745

  • 14.5.7 Yun Xing shellMing Ling 746

  • 14.5.8 Hou Xuan Shu Ru 747

  • 14.5.9 sys.argvDe Ming Ling 748

  • 14.6 shlex:Jie Xi shellLei Yu Fa 749

  • 14.6.1 Jie Xi Jia Yin Hao De Zi Fu Chuan 749

  • 14.6.2 Wei shellJian Li An Quan De Zi Fu Chuan 751

  • 14.6.3 Qian Ru Zhu Shi 751

  • 14.6.4 Jiang Zi Fu Chuan Fen Jie Wei token 752

  • 14.6.5 Bao Han Qi Ta tokenYuan 752

  • 14.6.6 Kong Zhi Jie Xi Qi 753

  • 14.6.7 Cuo Wu Chu Li 755

  • 14.6.8 POSIXYu Fei POSIXJie Xi 756

  • 14.7 configparser:Chu Li Pei Zhi Wen Jian 757

  • 14.7.1 Pei Zhi Wen Jian Ge Shi 757

  • 14.7.2 Du Qu Pei Zhi Wen Jian 758

  • 14.7.3 Fang Wen Pei Zhi She Zhi 759

  • 14.7.4 Xiu Gai She Zhi 765

  • 14.7.5 Bao Cun Pei Zhi Wen Jian 766

  • 14.7.6 Xuan Xiang Sou Suo Lu Jing 767

  • 14.7.7 Yong Pin Jie He Bing Zhi 768

  • 14.8 logging:Bao Gao Zhuang Tai , Cuo Wu He Xin Xi Xiao Xi 772

  • 14.8.1 Ri Zhi Xi Tong De Zu Cheng 773

  • 14.8.2 Ying Yong Yu Ku Zhong De Ri Zhi Ji Lu 773

  • 14.8.3 Ji Ru Wen Jian 773

  • 14.8.4 Xuan Zhuan Ri Zhi Wen Jian 774

  • 14.8.5 Xiang Xi Ji Bie 774

  • 14.8.6 Ming Ming Ri Zhi Ji Lu Qi Shi Li 776

  • 14.8.7 Ri Zhi Shu 776

  • 14.8.8 Yu warningsMo Kuai Ji Cheng 777

  • 14.9 fileinput:Ming Ling Xing Guo Lu Qi Kuang Jia 778

  • 14.9.1 Jiang m3uWen Jian Zhuan Huan Wei RSS 778

  • 14.9.2 Jin Du Yuan Shu Ju 779

  • 14.9.3 Yuan Di Guo Lu 781

  • 14.10 atexit:Cheng Xu Guan Bi Hui Diao 782

  • 14.10.1 Zhu Ce Tui Chu Hui Diao 782

  • 14.10.2 Xiu Shi Fu Yu Fa 783

  • 14.10.3 Che Xiao Hui Diao 784

  • 14.10.4 Shi Yao Qing Kuang Xia Bu Diao Yong atexitHan Shu 785

  • 14.10.5 Chu Li Yi Chang 786

  • 14.11 sched:Ding Shi Shi Jian Diao Du Qi 787

  • 14.11.1 You Yan Chi Di Yun Xing Shi Jian 788

  • 14.11.2 Zhong Die Shi Jian 788

  • 14.11.3 Shi Jian You Xian Ji 789

  • 14.11.4 Qu Xiao Shi Jian 790

  • Di 15 Zhang Guo Ji Hua He Ben Di Hua 791

  • 15.1 gettext:Xiao Xi Bian Mu 791

  • 15.1.1 Zhuan Huan Gong Zuo Liu Gai Shu 791

  • 15.1.2 You Yuan Dai Ma Chuang Jian Xiao Xi Bian Mu 792

  • 15.1.3 Yun Xing Shi Cha Zhao Xiao Xi Bian Mu 794

  • 15.1.4 Fu Shu Zhi 795

  • 15.1.5 Ying Yong Yu Mo Kuai Ben Di Hua 797

  • 15.1.6 Qie Huan Zhuan Huan 798

  • 15.2 locale:Wen Hua Ben Di Hua API 798

  • 15.2.1 Tan Cha Dang Qian Ben Di Hua Huan Jing 799

  • 15.2.2 Huo Bi 803

  • 15.2.3 Ge Shi Hua Shu Zi 804

  • 15.2.4 Jie Xi Shu Zi 805

  • 15.2.5 Ri Qi He Shi Jian 806

  • Di 16 Zhang Kai Fa Gong Ju 807

  • 16.1 pydoc:Mo Kuai De Lian Ji Bang Zhu 808

  • 16.1.1 Chun Wen Ben Bang Zhu 808

  • 16.1.2 HTMLBang Zhu 809

  • 16.1.3 Jiao Hu Shi Bang Zhu 809

  • 16.2 doctest:Tong Guo Wen Dang Wan Cheng Ce Shi 810

  • 16.2.1 Qi Bu 810

  • 16.2.2 Chu Li Bu Ke Yu Ce De Shu Chu 811

  • 16.2.3 traceback 814

  • 16.2.4 Bi Kai Kong Bai Fu 815

  • 16.2.5 Ce Shi Wei Zhi 819

  • 16.2.6 Wai Bu Wen Dang 822

  • 16.2.7 Yun Xing Ce Shi 824

  • 16.2.8 Ce Shi Shang Xia Wen 827

  • 16.3 unittest:Zi Dong Ce Shi Kuang Jia 829

  • 16.3.1 Ji Ben Ce Shi Jie Gou 829

  • 16.3.2 Yun Xing Ce Shi 829

  • 16.3.3 Ce Shi Jie Guo 830

  • 16.3.4 Duan Yan Zhen Zhi 831

  • 16.3.5 Ce Shi Xiang Deng Xing 832

  • 16.3.6 Ji Hu Xiang Deng ? 833

  • 16.3.7 Rong Qi 833

  • 16.3.8 Ce Shi Yi Chang 837

  • 16.3.9 Ce Shi Gu Jian 838

  • 16.3.10 Yong Bu Tong Shu Ru Zhong Fu Ce Shi 840

  • 16.3.11 Tiao Guo Ce Shi 842

  • 16.3.12 Hu Lue Shi Bai Ce Shi 842

  • 16.4 trace:Zhi Xing Cheng Xu Liu 843

  • 16.4.1 Shi Li Cheng Xu 843

  • 16.4.2 Gen Zong Zhi Xing 844

  • 16.4.3 Dai Ma Fu Gai 845

  • 16.4.4 Diao Yong Guan Xi 847

  • 16.4.5 Bian Cheng Jie Kou 848

  • 16.4.6 Bao Cun Jie Guo Shu Ju 849

  • 16.4.7 Xuan Xiang 850

  • 16.5 traceback:Yi Chang He Zhan Gui Ji 850

  • 16.5.1 Zhi Chi Han Shu 851

  • 16.5.2 Jian Cha Zhan 851

  • 16.5.3 tracebackYi Chang 853

  • 16.5.4 Di Ceng Yi Chang API 854

  • 16.5.5 Di Ceng Zhan API 857

  • 16.6 cgitb:Xiang Xi De tracebackBao Gao 859

  • 16.6.1 Biao Zhun tracebackZhuan Chu 859

  • 16.6.2 Qi Yong Xiang Xi De traceback 860

  • 16.6.3 tracebackZhong De Ju Bu Bian Liang 862

  • 16.6.4 Yi Chang Shu Xing 864

  • 16.6.5 HTMLShu Chu 866

  • 16.6.6 Ji Lu traceback 866

  • 16.7 pdb:Jiao Hu Shi Diao Shi Gong Ju 868

  • 16.7.1 Qi Dong Diao Shi Gong Ju 869

  • 16.7.2 Kong Zhi Diao Shi Gong Ju 871

  • 16.7.3 Duan Dian 881

  • 16.7.4 Gai Bian Zhi Xing Liu 890

  • 16.7.5 Yong Bie Ming Ding Zhi Diao Shi Gong Ju 895

  • 16.7.6 Bao Cun Pei Zhi She Zhi 897

  • 16.8 profileHe pstats:Xing Neng Fen Xi 898

  • 16.8.1 Yun Xing Xing Neng Fen Xi Gong Ju 898

  • 16.8.2 Zai Shang Xia Wen Zhong Yun Xing 901

  • 16.8.3 pstats:Bao Cun He Chu Li Tong Ji Xin Xi 901

  • 16.8.4 Xian Zhi Bao Gao Nei Rong 903

  • 16.8.5 Diao Yong Zhe /Bei Diao Yong Zhe Tu 903

  • 16.9 timeit:Ce Liang Xiao Duan PythonDai Ma Zhi Xing De Shi Jian 905

  • 16.9.1 Mo Kuai Nei Rong 905

  • 16.9.2 Ji Ben Shi Li 905

  • 16.9.3 Jiang Zhi Cun Chu Zai Zi Dian Zhong 906

  • 16.9.4 Cong Ming Ling Xing Zhi Xing 908

  • 16.10 tabnanny:Suo Jin Yan Zheng Gong Ju 909

  • 16.11 compileall:Zi Jie Bian Yi Yuan Wen Jian 910

  • 16.11.1 Bian Yi Yi Ge Mu Lu 910

  • 16.11.2 Hu Lue Wen Jian 911

  • 16.11.3 Bian Yi sys.path 912

  • 16.11.4 Bian Yi Dan Ge Wen Jian 912

  • 16.11.5 Cong Ming Ling Xing Yun Xing 913

  • 16.12 pyclbr:Lei Liu Lan Qi 914

  • 16.12.1 Sao Miao Lei 915

  • 16.12.2 Sao Miao Han Shu 916

  • 16.13 venv:Chuang Jian Xu Ni Huan Jing 917

  • 16.13.1 Chuang Jian Huan Jing 917

  • 16.13.2 Xu Ni Huan Jing De Nei Rong 917

  • 16.13.3 Shi Yong Xu Ni Huan Jing 918

  • 16.14 ensurepip:An Zhuang PythonBao An Zhuang Gong Ju 920

  • Di 17 Zhang Yun Xing Shi Te Xing 922

  • 17.1 site:Quan Zhan Dian Pei Zhi 922

  • 17.1.1 Dao Ru Lu Jing 922

  • 17.1.2 Yong Hu Mu Lu 923

  • 17.1.3 Lu Jing Pei Zhi Wen Jian 924

  • 17.1.4 Ding Zhi Zhan Dian Pei Zhi 926

  • 17.1.5 Ding Zhi Yong Hu Pei Zhi 927

  • 17.1.6 Jin Yong siteMo Kuai 929

  • 17.2 sys:Xi Tong Te Ding Pei Zhi 929

  • 17.2.1 Jie Shi Qi She Zhi 929

  • 17.2.2 Yun Xing Shi Huan Jing 935

  • 17.2.3 Nei Cun Guan Li He Xian Zhi 937

  • 17.2.4 Yi Chang Chu Li 942

  • 17.2.5 Di Ceng Xian Cheng Zhi Chi 944

  • 17.2.6 Mo Kuai He Dao Ru 947

  • 17.2.7 Gen Zong Cheng Xu Yun Xing Qing Kuang 963

  • 17.3 os:Ke Yi Zhi Fang Wen Cao Zuo Xi Tong Te Ding Te Xing 968

  • 17.3.1 Jian Cha Wen Jian Xi Tong Nei Rong 968

  • 17.3.2 Guan Li Wen Jian Xi Tong Quan Xian 971

  • 17.3.3 Chuang Jian He Shan Chu Mu Lu 973

  • 17.3.4 Chu Li Fu Hao Lian Jie 973

  • 17.3.5 An Quan Di Ti Huan Xian You Wen Jian 974

  • 17.3.6 Jian Ce He Gai Bian Jin Cheng Suo You Zhe 975

  • 17.3.7 Guan Li Jin Cheng Huan Jing 976

  • 17.3.8 Guan Li Jin Cheng Gong Zuo Mu Lu 977

  • 17.3.9 Yun Xing Wai Bu Ming Ling 977

  • 17.3.10 Yong os.fork()Chuang Jian Jin Cheng 979

  • 17.3.11 Deng Dai Zi Jin Cheng 980

  • 17.3.12 SpawnChuang Jian Xin Jin Cheng 982

  • 17.3.13 Cao Zuo Xi Tong Cuo Wu Ma 982

  • 17.4 platform:Xi Tong Ban Ben Xin Xi 983

  • 17.4.1 Jie Shi Qi 983

  • 17.4.2 Ping Tai 984

  • 17.4.3 Cao Zuo Xi Tong He Ying Jian Xin Xi 985

  • 17.4.4 Ke Zhi Xing Cheng Xu Ti Xi Jie Gou 986

  • 17.5 resource:Xi Tong Zi Yuan Guan Li 987

  • 17.5.1 Dang Qian Shi Yong Qing Kuang 987

  • 17.5.2 Zi Yuan Xian Zhi 988

  • 17.6 gc:La Ji Hui Shou Qi 990

  • 17.6.1 Gen Zong Yin Yong 990

  • 17.6.2 Qiang Zhi La Ji Hui Shou 992

  • 17.6.3 Cha Zhao Wu Fa Hui Shou De Dui Xiang Yin Yong 993

  • 17.6.4 Hui Shou Yu Zhi He Dai 995

  • 17.6.5 Diao Shi 998

  • 17.7 sysconfig:Jie Shi Qi Bian Yi Shi Pei Zhi 1002

  • 17.7.1 Pei Zhi Bian Liang 1002

  • 17.7.2 An Zhuang Lu Jing 1004

  • 17.7.3 PythonBan Ben He Ping Tai 1007

  • Di 18 Zhang Yu Yan Gong Ju 1009

  • 18.1 warnings:Fei Zhi Ming Jing Gao 1009

  • 18.1.1 Fen Lei He Guo Lu 1010

  • 18.1.2 Sheng Cheng Jing Gao 1010

  • 18.1.3 Yong Mo Shi Guo Lu 1011

  • 18.1.4 Zhong Fu De Jing Gao 1013

  • 18.1.5 Hou Xuan Xiao Xi Chuan Song Han Shu 1013

  • 18.1.6 Ge Shi Hua 1014

  • 18.1.7 Jing Gao Zhong De Zhan Ceng Ci 1014

  • 18.2 abc:Chou Xiang Ji Lei 1015

  • 18.2.1 ABCRu He Gong Zuo 1015

  • 18.2.2 Zhu Ce Yi Ge Ju Ti Lei 1016

  • 18.2.3 Tong Guo Pai Sheng Shi Xian 1017

  • 18.2.4 Fu Zhu Ji Lei 1017

  • 18.2.5 Bu Wan Zheng De Shi Xian 1018

  • 18.2.6 ABCZhong De Ju Ti Fang Fa 1019

  • 18.2.7 Chou Xiang Shu Xing 1020

  • 18.2.8 Chou Xiang Lei He Jing Tai Fang Fa 1022

  • 18.3 dis:PythonZi Jie Ma Fan Hui Bian Gong Ju 1023

  • 18.3.1 Ji Ben Fan Hui Bian 1023

  • 18.3.2 Fan Hui Bian Han Shu 1024

  • 18.3.3 Lei 1025

  • 18.3.4 Yuan Dai Ma 1026

  • 18.3.5 Shi Yong Fan Hui Bian Diao Shi 1027

  • 18.3.6 Xun Huan De Xing Neng Fen Xi 1028

  • 18.3.7 Bian Yi Qi You Hua 1033

  • 18.4 inspect:Jian Cha Xian Chang Dui Xiang 1035

  • 18.4.1 Shi Li Mo Kuai 1035

  • 18.4.2 Jian Cha Mo Kuai 1035

  • 18.4.3 Jian Cha Lei 1036

  • 18.4.4 Jian Cha Shi Li 1038

  • 18.4.5 Wen Dang Chuan 1038

  • 18.4.6 Huo Qu Yuan Dai Ma 1039

  • 18.4.7 Fang Fa He Han Shu Qian Ming 1041

  • 18.4.8 Lei Ceng Ci Ti Xi 1043

  • 18.4.9 Fang Fa Jie Xi Shun Xu 1044

  • 18.4.10 Zhan Yu Zheng 1045

  • 18.4.11 Ming Ling Xing Jie Kou 1047

  • Di 19 Zhang Mo Kuai He Bao 1048

  • 19.1 importlib:PythonDe Dao Ru Ji Zhi 1048

  • 19.1.1 Shi Li Bao 1048

  • 19.1.2 Mo Kuai Lei Xing 1049

  • 19.1.3 Dao Ru Mo Kuai 1049

  • 19.1.4 Jia Zai Gong Ju 1051

  • 19.2 pkgutil:Bao Gong Ju 1052

  • 19.2.1 Bao Dao Ru Lu Jing 1052

  • 19.2.2 Bao De Kai Fa Ban Ben 1054

  • 19.2.3 Yong PKGWen Jian Guan Li Lu Jing 1055

  • 19.2.4 Qian Tao Bao 1056

  • 19.2.5 Bao Shu Ju 1058

  • 19.3 zipimport:Cong ZIPGui Dang Jia Zai PythonDai Ma 1060

  • 19.3.1 Shi Li 1060

  • 19.3.2 Cha Zhao Mo Kuai 1061

  • 19.3.3 Fang Wen Dai Ma 1061

  • 19.3.4 Yuan Dai Ma 1062

  • 19.3.5 Bao 1063

  • 19.3.6 Shu Ju 1063

  • Fu Lu A Yi Zhi Shuo Ming 1066

  • Fu Lu B Biao Zhun Ku Zhi Wai 1081


English Version

Table of Contents

Zhan Kai Cha Kan

  • Chapter 1 Text 1

  • 1.1 string: Text Constants and Templates 1

  • 1.1.1 Functions 1

  • 1.1.2 Templates 2

  • 1.1.3 Advanced Templates 4

  • 1.1.4 Formatter 6

  • 1.1.5 Constants 6

  • 1.2 textwrap: Formatting Text Paragraphs 7

  • 1.2.1 Example Data 8

  • 1.2.2 Filling Paragraphs 8

  • 1.2.3 Removing Existing Indentation 8

  • 1.2.4 Combining Dedent and Fill 9

  • 1.2.5 Indenting Blocks 10

  • 1.2.6 Hanging Indents 12

  • 1.2.7 Truncating Long Text 12

  • 1.3 re: Regular Expressions 13

  • 1.3.1 Finding Patterns in Text 14

  • 1.3.2 Compiling Expressions 15

  • 1.3.3 Multiple Matches 16

  • 1.3.4 Pattern Syntax 17

  • 1.3.5 Constraining the Search 28

  • 1.3.6 Dissecting Matches with Groups 30

  • 1.3.7 Search Options 36

  • 1.3.8 Looking Ahead or Behind 44

  • 1.3.9 Self-referencing Expressions 48

  • 1.3.10 Modifying Strings with Patterns 53

  • 1.3.11 Splitting with Patterns 55

  • 1.4 difflib: Compare Sequences 58

  • 1.4.1 Comparing Bodies of Text 58

  • 1.4.2 Junk Data 61

  • 1.4.3 Comparing Arbitrary Types 62

  • ixx Contents

  • Chapter 2 Data Structures 65

  • 2.1 enum: Enumeration Type 66

  • 2.1.1 Creating Enumerations 66

  • 2.1.2 Iteration 67

  • 2.1.3 Comparing Enums 67

  • 2.1.4 Unique Enumeration Values 69

  • 2.1.5 Creating Enumerations Programmatically 71

  • 2.1.6 Non-integer Member Values 72

  • 2.2 collections: Container Data Types 75

  • 2.2.1 ChainMap: Search Multiple Dictionaries 75

  • 2.2.2 Counter: Count Hashable Objects 79

  • 2.2.3 defaultdict: Missing Keys Return a Default Value 83

  • 2.2.4 deque: Double-Ended Queue 84

  • 2.2.5 namedtuple: Tuple Subclass with Named Fields 89

  • 2.2.6 OrderedDict: Remember the Order Keys Are Added to a Dictionary 94

  • 2.2.7 collections.abc: Abstract Base Classes for Containers 97

  • 2.3 array: Sequence of Fixed-Type Data 98

  • 2.3.1 Initialization 98

  • 2.3.2 Manipulating Arrays 99

  • 2.3.3 Arrays and Files 100

  • 2.3.4 Alternative Byte Ordering 101

  • 2.4 heapq: Heap Sort Algorithm 103

  • 2.4.1 Example Data 103

  • 2.4.2 Creating a Heap 104

  • 2.4.3 Accessing the Contents of a Heap 105

  • 2.4.4 Data Extremes from a Heap 107

  • 2.4.5 Efficiently Merging Sorted Sequences 108

  • 2.5 bisect: Maintain Lists in Sorted Order 109

  • 2.5.1 Inserting in Sorted Order 109

  • 2.5.2 Handling Duplicates 110

  • 2.6 queue: Thread-Safe FIFO Implementation 111

  • 2.6.1 Basic FIFO Queue 112

  • 2.6.2 LIFO Queue 112

  • 2.6.3 Priority Queue 113

  • 2.6.4 Building a Threaded Podcast Client 114

  • 2.7 struct: Binary Data Structures 117

  • 2.7.1 Functions Versus Struct Class 117

  • 2.7.2 Packing and Unpacking 117

  • 2.7.3 Endianness 118

  • 2.7.4 Buffers 120

  • 2.8 weakref: Impermanent References to Objects 121

  • 2.8.1 References 122

  • 2.8.2 Reference Callbacks 122

  • 2.8.3 Finalizing Objects 123

  • 2.8.4 Proxies 126

  • 2.8.5 Caching Objects 127Contents xi

  • 2.9 copy: Duplicate Objects 130

  • 2.9.1 Shallow Copies 130

  • 2.9.2 Deep Copies 131

  • 2.9.3 Customizing Copy Behavior 132

  • 2.9.4 Recursion in Deep Copy 133

  • 2.10 pprint: Pretty-Print Data Structures 136

  • 2.10.1 Printing 136

  • 2.10.2 Formatting 137

  • 2.10.3 Arbitrary Classes 138

  • 2.10.4 Recursion 139

  • 2.10.5 Limiting Nested Output 139

  • 2.10.6 Controlling Output Width 140

  • Chapter 3 Algorithms 143

  • 3.1 functools: Tools for Manipulating Functions 143

  • 3.1.1 Decorators 143

  • 3.1.2 Comparison 151

  • 3.1.3 Caching 155

  • 3.1.4 Reducing a Data Set 158

  • 3.1.5 Generic Functions 161

  • 3.2 itertools: Iterator Functions 163

  • 3.2.1 Merging and Splitting Iterators 164

  • 3.2.2 Converting Inputs 167

  • 3.2.3 Producing New Values 169

  • 3.2.4 Filtering 172

  • 3.2.5 Grouping Data 175

  • 3.2.6 Combining Inputs 176

  • 3.3 operator: Functional Interface to Built-in Operators 183

  • 3.3.1 Logical Operations 183

  • 3.3.2 Comparison Operators 184

  • 3.3.3 Arithmetic Operators 184

  • 3.3.4 Sequence Operators 186

  • 3.3.5 In-Place Operators 187

  • 3.3.6 Attribute and Item "Getters" 188

  • 3.3.7 Combining Operators and Custom Classes 190

  • 3.4 contextlib: Context Manager Utilities 191

  • 3.4.1 Context Manager API 191

  • 3.4.2 Context Managers as Function Decorators 194

  • 3.4.3 From Generator to Context Manager 196

  • 3.4.4 Closing Open Handles 198

  • 3.4.5 Ignoring Exceptions 199

  • 3.4.6 Redirecting Output Streams 201

  • 3.4.7 Dynamic Context Manager Stacks 202xii Contents

  • Chapter 4 Dates and Times 211

  • 4.1 time: Clock Time 211

  • 4.1.1 Comparing Clocks 211

  • 4.1.2 Wall Clock Time 213

  • 4.1.3 Monotonic Clocks 214

  • 4.1.4 Processor Clock Time 214

  • 4.1.5 Performance Counter 216

  • 4.1.6 Time Components 217

  • 4.1.7 Working with Time Zones 218

  • 4.1.8 Parsing and Formatting Times 219

  • 4.2 datetime: Date and Time Value Manipulation 221

  • 4.2.1 Times 221

  • 4.2.2 Dates 222

  • 4.2.3 timedeltas 225

  • 4.2.4 Date Arithmetic 226

  • 4.2.5 Comparing Values 228

  • 4.2.6 Combining Dates and Times 228

  • 4.2.7 Formatting and Parsing 230

  • 4.2.8 Time Zones 231

  • 4.3 calendar: Work with Dates 233

  • 4.3.1 Formatting Examples 233

  • 4.3.2 Locales 236

  • 4.3.3 Calculating Dates 236

  • Chapter 5 Mathematics 239

  • 5.1 decimal: Fixed- and Floating-Point Math 239

  • 5.1.1 Decimal 239

  • 5.1.2 Formatting 241

  • 5.1.3 Arithmetic 242

  • 5.1.4 Special Values 243

  • 5.1.5 Context 244

  • 5.2 fractions: Rational Numbers 250

  • 5.2.1 Creating Fraction Instances 250

  • 5.2.2 Arithmetic 252

  • 5.2.3 Approximating Values 253

  • 5.3 random: Pseudorandom Number Generators 254

  • 5.3.1 Generating Random Numbers 254

  • 5.3.2 Seeding 255

  • 5.3.3 Saving State 255

  • 5.3.4 Random Integers 257

  • 5.3.5 Picking Random Items 258

  • 5.3.6 Permutations 258

  • 5.3.7 Sampling 260

  • 5.3.8 Multiple Simultaneous Generators 261

  • 5.3.9 SystemRandom 262

  • 5.3.10 Non-uniform Distributions 263Contents xiii

  • 5.4 math: Mathematical Functions 264

  • 5.4.1 Special Constants 265

  • 5.4.2 Testing for Exceptional Values 265

  • 5.4.3 Comparing 267

  • 5.4.4 Converting Floating-Point Values to Integers 270

  • 5.4.5 Alternative Representations of Floating-Point Values 271

  • 5.4.6 Positive and Negative Signs 272

  • 5.4.7 Commonly Used Calculations 274

  • 5.4.8 Exponents and Logarithms 278

  • 5.4.9 Angles 282

  • 5.4.10 Trigonometry 284

  • 5.4.11 Hyperbolic Functions 288

  • 5.4.12 Special Functions 289

  • 5.5 statistics: Statistical Calculations 290

  • 5.5.1 Averages 290

  • 5.5.2 Variance 292

  • Chapter 6 The File System 295

  • 6.1 os.path: Platform-Independent Manipulation of Filenames 296

  • 6.1.1 Parsing Paths 296

  • 6.1.2 Building Paths 300

  • 6.1.3 Normalizing Paths 301

  • 6.1.4 File Times 302

  • 6.1.5 Testing Files 303

  • 6.2 pathlib: File System Paths as Objects 305

  • 6.2.1 Path Representations 305

  • 6.2.2 Building Paths 305

  • 6.2.3 Parsing Paths 307

  • 6.2.4 Creating Concrete Paths 309

  • 6.2.5 Directory Contents 309

  • 6.2.6 Reading and Writing Files 312

  • 6.2.7 Manipulating Directories and Symbolic Links 312

  • 6.2.8 File Types 313

  • 6.2.9 File Properties 315

  • 6.2.10 Permissions 317

  • 6.2.11 Deleting 318

  • 6.3 glob: Filename Pattern Matching 319

  • 6.3.1 Example Data 320

  • 6.3.2 Wildcards 320

  • 6.3.3 Single-Character Wildcard 321

  • 6.3.4 Character Ranges 322

  • 6.3.5 Escaping Meta-characters 322

  • 6.4 fnmatch: Unix-Style Glob Pattern Matching 323

  • 6.4.1 Simple Matching 323

  • 6.4.2 Filtering 325

  • 6.4.3 Translating Patterns 325xiv Contents

  • 6.5 linecache: Read Text Files Efficiently 326

  • 6.5.1 Test Data 326

  • 6.5.2 Reading Specific Lines 327

  • 6.5.3 Handling Blank Lines 328

  • 6.5.4 Error Handling 328

  • 6.5.5 Reading Python Source Files 329

  • 6.6 tempfile: Temporary File System Objects 330

  • 6.6.1 Temporary Files 331

  • 6.6.2 Named Files 333

  • 6.6.3 Spooled Files 333

  • 6.6.4 Temporary Directories 335

  • 6.6.5 Predicting Names 335

  • 6.6.6 Temporary File Location 336

  • 6.7 shutil: High-Level File Operations 337

  • 6.7.1 Copying Files 337

  • 6.7.2 Copying File Metadata 340

  • 6.7.3 Working with Directory Trees 342

  • 6.7.4 Finding Files 345

  • 6.7.5 Archives 346

  • 6.7.6 File System Space 350

  • 6.8 filecmp: Compare Files 351

  • 6.8.1 Example Data 351

  • 6.8.2 Comparing Files 353

  • 6.8.3 Comparing Directories 355

  • 6.8.4 Using Differences in a Program 357

  • 6.9 mmap: Memory-Map Files 361

  • 6.9.1 Reading 361

  • 6.9.2 Writing 362

  • 6.9.3 Regular Expressions 364

  • 6.10 codecs: String Encoding and Decoding 365

  • 6.10.1 Unicode Primer 365

  • 6.10.2 Working with Files 368

  • 6.10.3 Byte Order 370

  • 6.10.4 Error Handling 372

  • 6.10.5 Encoding Translation 376

  • 6.10.6 Non-Unicode Encodings 377

  • 6.10.7 Incremental Encoding 378

  • 6.10.8 Unicode Data and Network Communication 380

  • 6.10.9 Defining a Custom Encoding 383

  • 6.11 io: Text, Binary, and Raw Stream I/O Tools 390

  • 6.11.1 In-Memory Streams 390

  • 6.11.2 Wrapping Byte Streams for Text Data 392Contents xv

  • Chapter 7 Data Persistence and Exchange 395

  • 7.1 pickle: Object Serialization 396

  • 7.1.1 Encoding and Decoding Data in Strings 396

  • 7.1.2 Working with Streams 397

  • 7.1.3 Problems Reconstructing Objects 399

  • 7.1.4 Unpicklable Objects 400

  • 7.1.5 Circular References 402

  • 7.2 shelve: Persistent Storage of Objects 405

  • 7.2.1 Creating a New Shelf 405

  • 7.2.2 Writeback 406

  • 7.2.3 Specific Shelf Types 408

  • 7.3 dbm: Unix Key-Value Databases 408

  • 7.3.1 Database Types 408

  • 7.3.2 Creating a New Database 409

  • 7.3.3 Opening an Existing Database 410

  • 7.3.4 Error Cases 411

  • 7.4 sqlite3: Embedded Relational Database 412

  • 7.4.1 Creating a Database 412

  • 7.4.2 Retrieving Data 415

  • 7.4.3 Query Metadata 417

  • 7.4.4 Row Objects 417

  • 7.4.5 Using Variables with Queries 419

  • 7.4.6 Bulk Loading 421

  • 7.4.7 Defining New Column Types 422

  • 7.4.8 Determining Types for Columns 426

  • 7.4.9 Transactions 428

  • 7.4.10 Isolation Levels 431

  • 7.4.11 In-Memory Databases 434

  • 7.4.12 Exporting the Contents of a Database 435

  • 7.4.13 Using Python Functions in SQL 436

  • 7.4.14 Querying with Regular Expressions 439

  • 7.4.15 Custom Aggregation 440

  • 7.4.16 Threading and Connection Sharing 441

  • 7.4.17 Restricting Access to Data 442

  • 7.5 xml.etree.ElementTree: XML Manipulation API 445

  • 7.5.1 Parsing an XML Document 445

  • 7.5.2 Traversing the Parsed Tree 446

  • 7.5.3 Finding Nodes in a Document 447

  • 7.5.4 Parsed Node Attributes 449

  • 7.5.5 Watching Events While Parsing 451

  • 7.5.6 Creating a Custom Tree Builder 453

  • 7.5.7 Parsing Strings 455

  • 7.5.8 Building Documents With Element Nodes 457

  • 7.5.9 Pretty-Printing XML 458

  • 7.5.10 Setting Element Properties 459xvi Contents

  • 7.5.11 Building Trees from Lists of Nodes 461

  • 7.5.12 Serializing XML to a Stream 464

  • 7.6 csv: Comma-Separated Value Files 466

  • 7.6.1 Reading 466

  • 7.6.2 Writing 467

  • 7.6.3 Dialects 469

  • 7.6.4 Using Field Names 474

  • Chapter 8 Data Compression and Archiving 477

  • 8.1 zlib: GNU zlib Compression 477

  • 8.1.1 Working with Data in Memory 477

  • 8.1.2 Incremental Compression and Decompression 479

  • 8.1.3 Mixed Content Streams 480

  • 8.1.4 Checksums 481

  • 8.1.5 Compressing Network Data 482

  • 8.2 gzip: Read and Write GNU zip Files 486

  • 8.2.1 Writing Compressed Files 486

  • 8.2.2 Reading Compressed Data 489

  • 8.2.3 Working with Streams 490

  • 8.3 bz2: bzip2 Compression 491

  • 8.3.1 One-Shot Operations in Memory 492

  • 8.3.2 Incremental Compression and Decompression 493

  • 8.3.3 Mixed-Content Streams 494

  • 8.3.4 Writing Compressed Files 495

  • 8.3.5 Reading Compressed Files 497

  • 8.3.6 Reading and Writing Unicode Data 498

  • 8.3.7 Compressing Network Data 499

  • 8.4 tarfile: Tar Archive Access 503

  • 8.4.1 Testing Tar Files 503

  • 8.4.2 Reading Metadata from an Archive 504

  • 8.4.3 Extracting Files from an Archive 506

  • 8.4.4 Creating New Archives 508

  • 8.4.5 Using Alternative Archive Member Names 508

  • 8.4.6 Writing Data from Sources Other Than Files 509

  • 8.4.7 Appending to Archives 510

  • 8.4.8 Working with Compressed Archives 510

  • 8.5 zipfile: ZIP Archive Access 511

  • 8.5.1 Testing ZIP Files 512

  • 8.5.2 Reading Metadata from an Archive 512

  • 8.5.3 Extracting Archived Files From an Archive 514

  • 8.5.4 Creating New Archives 514

  • 8.5.5 Using Alternative Archive Member Names 516

  • 8.5.6 Writing Data from Sources Other Than Files 517

  • 8.5.7 Writing with a ZipInfo Instance 517

  • 8.5.8 Appending to Files 518Contents xvii

  • 8.5.9 Python ZIP Archives 519

  • 8.5.10 Limitations 521

  • Chapter 9 Cryptography 523

  • 9.1 hashlib: Cryptographic Hashing 523

  • 9.1.1 Hash Algorithms 523

  • 9.1.2 Sample Data 524

  • 9.1.3 MD5 Example 524

  • 9.1.4 SHA1 Example 525

  • 9.1.5 Creating a Hash by Name 525

  • 9.1.6 Incremental Updates 526

  • 9.2 hmac: Cryptographic Message Signing and Verification 528

  • 9.2.1 Signing Messages 528

  • 9.2.2 Alternative Digest Types 528

  • 9.2.3 Binary Digests 529

  • 9.2.4 Applications of Message Signatures 530

  • Chapter 10 Concurrency with Processes, Threads, and Coroutines 535

  • 10.1 subprocess: Spawning Additional Processes 535

  • 10.1.1 Running External Command 536

  • 10.1.2 Working with Pipes Directly 542

  • 10.1.3 Connecting Segments of a Pipe 545

  • 10.1.4 Interacting with Another Command 546

  • 10.1.5 Signaling Between Processes 548

  • 10.2 signal: Asynchronous System Events 553

  • 10.2.1 Receiving Signals 554

  • 10.2.2 Retrieving Registered Handlers 555

  • 10.2.3 Sending Signals 556

  • 10.2.4 Alarms 556

  • 10.2.5 Ignoring Signals 557

  • 10.2.6 Signals and Threads 558

  • 10.3 threading: Manage Concurrent Operations Within a Process 560

  • 10.3.1 Thread Objects 560

  • 10.3.2 Determining the Current Thread 562

  • 10.3.3 Daemon Versus Non-daemon Threads 564

  • 10.3.4 Enumerating All Threads 567

  • 10.3.5 Subclassing Thread 568

  • 10.3.6 Timer Threads 570

  • 10.3.7 Signaling Between Threads 571

  • 10.3.8 Controlling Access to Resources 572

  • 10.3.9 Synchronizing Threads 578

  • 10.3.10 Limiting Concurrent Access to Resources 581

  • 10.3.11 Thread Specific Data 583

  • 10.4 multiprocessing: Manage Processes Like Threads 586

  • 10.4.1 multiprocessing Basics 586

  • 10.4.2 Importable Target Functions 587xviii Contents

  • 10.4.3 Determining the Current Process 588

  • 10.4.4 Daemon Processes 589

  • 10.4.5 Waiting for Processes 591

  • 10.4.6 Terminating Processes 593

  • 10.4.7 Process Exit Status 594

  • 10.4.8 Logging 596

  • 10.4.9 Subclassing Process 597

  • 10.4.10 Passing Messages to Processes 598

  • 10.4.11 Signaling Between Processes 602

  • 10.4.12 Controlling Access to Resources 603

  • 10.4.13 Synchronizing Operations 604

  • 10.4.14 Controlling Concurrent Access to Resources 605

  • 10.4.15 Managing Shared State 608

  • 10.4.16 Shared Namespaces 608

  • 10.4.17 Process Pools 611

  • 10.4.18 Implementing MapReduce 613

  • 10.5 asyncio: Asynchronous I/O, Event Loop, and Concurrency Tools 617

  • 10.5.1 Asynchronous Concurrency Concepts 618

  • 10.5.2 Cooperative Multitasking with Coroutines 618

  • 10.5.3 Scheduling Calls to Regular Functions 622

  • 10.5.4 Producing Results Asynchronously 625

  • 10.5.5 Executing Tasks Concurrently 628

  • 10.5.6 Composing Coroutines with Control Structures 632

  • 10.5.7 Synchronization Primitives 637

  • 10.5.8 Asynchronous I/O with Protocol Class Abstractions 644

  • 10.5.9 Asynchronous I/O Using Coroutines and Streams 650

  • 10.5.10 Using SSL 656

  • 10.5.11 Interacting with Domain Name Services 658

  • 10.5.12 Working with Subprocesses 661

  • 10.5.13 Receiving Unix Signals 668

  • 10.5.14 Combining Coroutines with Threads and Processes 670

  • 10.5.15 Debugging with asyncio 673

  • 10.6 concurrent.futures: Manage Pools of Concurrent Tasks 677

  • 10.6.1 Using map() with a Basic Thread Pool 677

  • 10.6.2 Scheduling Individual Tasks 678

  • 10.6.3 Waiting for Tasks in Any Order 679

  • 10.6.4 Future Callbacks 680

  • 10.6.5 Canceling Tasks 681

  • 10.6.6 Exceptions in Tasks 683

  • 10.6.7 Context Manager 683

  • 10.6.8 Process Pools 684Contents xix

  • Chapter 11 Networking 687

  • 11.1 ipaddress: Internet Addresses 687

  • 11.1.1 Addresses 687

  • 11.1.2 Networks 688

  • 11.1.3 Interfaces 692

  • 11.2 socket: Network Communication 693

  • 11.2.1 Addressing, Protocol Families, and Socket Types 693

  • 11.2.2 TCP/IP Client and Server 704

  • 11.2.3 User Datagram Client and Server 711

  • 11.2.4 Unix Domain Sockets 714

  • 11.2.5 Multicast 717

  • 11.2.6 Sending Binary Data 721

  • 11.2.7 Non-blocking Communication and Timeouts 723

  • 11.3 selectors: I/O Multiplexing Abstractions 724

  • 11.3.1 Operating Model 724

  • 11.3.2 Echo Server 724

  • 11.3.3 Echo Client 726

  • 11.3.4 Server and Client Together 727

  • 11.4 select: Wait for I/O Efficiently 728

  • 11.4.1 Using select() 729

  • 11.4.2 Non-blocking I/O with Timeouts 734

  • 11.4.3 Using poll() 737

  • 11.4.4 Platform-Specific Options 742

  • 11.5 socketserver: Creating Network Servers 742

  • 11.5.1 Server Types 742

  • 11.5.2 Server Objects 743

  • 11.5.3 Implementing a Server 743

  • 11.5.4 Request Handlers 743

  • 11.5.5 Echo Example 744

  • 11.5.6 Threading and Forking 749

  • Chapter 12 The Internet 753

  • 12.1 urllib.parse: Split URLs into Components 753

  • 12.1.1 Parsing 754

  • 12.1.2 Unparsing 756

  • 12.1.3 Joining 758

  • 12.1.4 Encoding Query Arguments 759

  • 12.2 urllib.request: Network Resource Access 761

  • 12.2.1 HTTP GET 761

  • 12.2.2 Encoding Arguments 763

  • 12.2.3 HTTP POST 764

  • 12.2.4 Adding Outgoing Headers 765

  • 12.2.5 Posting Form Data from a Request 766

  • 12.2.6 Uploading Files 767

  • 12.2.7 Creating Custom Protocol Handlers 770xx Contents

  • 12.3 urllib.robotparser: Internet Spider Access Control 773

  • 12.3.1 robots.txt 773

  • 12.3.2 Testing Access Permissions 774

  • 12.3.3 Long-Lived Spiders 775

  • 12.4 base64: Encode Binary Data with ASCII 776

  • 12.4.1 Base 64 Encoding 777

  • 12.4.2 Base64 Decoding 778

  • 12.4.3 URL-Safe Variations 778

  • 12.4.4 Other Encodings 779

  • 12.5 http.server: Base Classes for Implementing Web Servers 781

  • 12.5.1 HTTP GET 781

  • 12.5.2 HTTP POST 784

  • 12.5.3 Threading and Forking 786

  • 12.5.4 Handling Errors 787

  • 12.5.5 Setting Headers 788

  • 12.5.6 Command-Line Use 789

  • 12.6 http.cookies: HTTP Cookies 790

  • 12.6.1 Creating and Setting a Cookie 790

  • 12.6.2 Morsels 791

  • 12.6.3 Encoded Values 793

  • 12.6.4 Receiving and Parsing Cookie Headers 794

  • 12.6.5 Alternative Output Formats 795

  • 12.7 webbrowser: Displays Web Pages 796

  • 12.7.1 Simple Example 796

  • 12.7.2 Windows Versus Tabs 796

  • 12.7.3 Using a Specific Browser 796

  • 12.7.4 BROWSER Variable 797

  • 12.7.5 Command-Line Interface 797

  • 12.8 uuid: Universally Unique Identifiers 797

  • 12.8.1 UUID 1: IEEE 802 MAC Address 798

  • 12.8.2 UUID 3 and 5: Name-Based Values 800

  • 12.8.3 UUID 4: Random Values 802

  • 12.8.4 Working with UUID Objects 802

  • 12.9 json: JavaScript Object Notation 803

  • 12.9.1 Encoding and Decoding Simple Data Types 804

  • 12.9.2 Human-Consumable Versus Compact Output 805

  • 12.9.3 Encoding Dictionaries 807

  • 12.9.4 Working with Custom Types 807

  • 12.9.5 Encoder and Decoder Classes 810

  • 12.9.6 Working with Streams and Files 813

  • 12.9.7 Mixed Data Streams 813

  • 12.9.8 JSON at the Command Line 815

  • 12.10 xmlrpc.client: Client Library for XML-RPC 816

  • 12.10.1 Connecting to a Server 817

  • 12.10.2 Data Types 819Contents xxi

  • 12.10.3 Passing Objects 822

  • 12.10.4 Binary Data 823

  • 12.10.5 Exception Handling 825

  • 12.10.6 Combining Calls into One Message 826

  • 12.11 xmlrpc.server: An XML-RPC Server 827

  • 12.11.1 A Simple Server 828

  • 12.11.2 Alternate API Names 829

  • 12.11.3 Dotted API Names 830

  • 12.11.4 Arbitrary API Names 831

  • 12.11.5 Exposing Methods of Objects 832

  • 12.11.6 Dispatching Calls 834

  • 12.11.7 Introspection API 837

  • Chapter 13 Email 841

  • 13.1 smtplib: Simple Mail Transfer Protocol Client 841

  • 13.1.1 Sending an Email Message 841

  • 13.1.2 Authentication and Encryption 843

  • 13.1.3 Verifying an Email Address 846

  • 13.2 smtpd: Sample Mail Servers 847

  • 13.2.1 Mail Server Base Class 847

  • 13.2.2 Debugging Server 850

  • 13.2.3 Proxy Server 851

  • 13.3 mailbox: Manipulate Email Archives 852

  • 13.3.1 mbox 852

  • 13.3.2 Maildir 855

  • 13.3.3 Message Flags 862

  • 13.3.4 Other Formats 864

  • 13.4 imaplib: IMAP4 Client Library 864

  • 13.4.1 Variations 864

  • 13.4.2 Connecting to a Server 864

  • 13.4.3 Example Configuration 866

  • 13.4.4 Listing Mailboxes 866

  • 13.4.5 Mailbox Status 869

  • 13.4.6 Selecting a Mailbox 871

  • 13.4.7 Searching for Messages 872

  • 13.4.8 Search Criteria 872

  • 13.4.9 Fetching Messages 874

  • 13.4.10 Whole Messages 880

  • 13.4.11 Uploading Messages 881

  • 13.4.12 Moving and Copying Messages 883

  • 13.4.13 Deleting Messages 884xxii Contents

  • Chapter 14 Application Building Blocks 887

  • 14.1 argparse: Command-Line Option and Argument Parsing 888

  • 14.1.1 Setting Up a Parser 888

  • 14.1.2 Defining Arguments 888

  • 14.1.3 Parsing a Command Line 889

  • 14.1.4 Simple Examples 889

  • 14.1.5 Help Output 897

  • 14.1.6 Parser Organization 901

  • 14.1.7 Advanced Argument Processing 908

  • 14.2 getopt: Command-Line Option Parsing 916

  • 14.2.1 Function Arguments 916

  • 14.2.2 Short-Form Options 917

  • 14.2.3 Long-Form Options 917

  • 14.2.4 A Complete Example 918

  • 14.2.5 Abbreviating Long-Form Options 920

  • 14.2.6 GNU-Style Option Parsing 920

  • 14.2.7 Ending Argument Processing 922

  • 14.3 readline: The GNU readline Library 922

  • 14.3.1 Configuring readline 923

  • 14.3.2 Completing Text 924

  • 14.3.3 Accessing the Completion Buffer 927

  • 14.3.4 Input History 931

  • 14.3.5 Hooks 934

  • 14.4 getpass: Secure Password Prompt 935

  • 14.4.1 Example 935

  • 14.4.2 Using getpass Without a Terminal 937

  • 14.5 cmd: Line-Oriented Command Processors 938

  • 14.5.1 Processing Commands 938

  • 14.5.2 Command Arguments 940

  • 14.5.3 Live Help 941

  • 14.5.4 Auto-Completion 942

  • 14.5.5 Overriding Base Class Methods 944

  • 14.5.6 Configuring Cmd Through Attributes 946

  • 14.5.7 Running Shell Commands 947

  • 14.5.8 Alternative Inputs 948

  • 14.5.9 Commands from sys.argv 950

  • 14.6 shlex: Parse Shell-Style Syntaxes 951

  • 14.6.1 Parsing Quoted Strings 951

  • 14.6.2 Making Safe Strings for Shells 953

  • 14.6.3 Embedded Comments 954

  • 14.6.4 Splitting Strings into Tokens 954

  • 14.6.5 Including Other Sources of Tokens 955

  • 14.6.6 Controlling the Parser 956

  • 14.6.7 Error Handling 957

  • 14.6.8 POSIX Versus Non-POSIX Parsing 959Contents xxiii

  • 14.7 configparser: Work with Configuration Files 960

  • 14.7.1 Configuration File Format 961

  • 14.7.2 Reading Configuration Files 961

  • 14.7.3 Accessing Configuration Settings 963

  • 14.7.4 Modifying Settings 970

  • 14.7.5 Saving Configuration Files 972

  • 14.7.6 Option Search Path 972

  • 14.7.7 Combining Values with Interpolation 975

  • 14.8 logging: Report Status, Error, and Informational Messages 980

  • 14.8.1 Logging Components 980

  • 14.8.2 Logging in Applications Versus Libraries 980

  • 14.8.3 Logging to a File 981

  • 14.8.4 Rotating Log Files 981

  • 14.8.5 Verbosity Levels 982

  • 14.8.6 Naming Logger Instances 984

  • 14.8.7 The Logging Tree 984

  • 14.8.8 Integration with the warnings Module 985

  • 14.9 fileinput: Command-Line Filter Framework 986

  • 14.9.1 Converting M3U Files to RSS 987

  • 14.9.2 Progress Metadata 989

  • 14.9.3 In-Place Filtering 990

  • 14.10 atexit: Program Shutdown Callbacks 993

  • 14.10.1 Registering Exit Callbacks 993

  • 14.10.2 Decorator Syntax 994

  • 14.10.3 Canceling Callbacks 994

  • 14.10.4 When Are atexit Callbacks Not Called? 995

  • 14.10.5 Handling Exceptions 997

  • 14.11 sched: Timed Event Scheduler 998

  • 14.11.1 Running Events with a Delay 999

  • 14.11.2 Overlapping Events 1000

  • 14.11.3 Event Priorities 1001

  • 14.11.4 Canceling Events 1001

  • Chapter 15 Internationalization and Localization 1003

  • 15.1 gettext: Message Catalogs 1003

  • 15.1.1 Translation Workflow Overview 1003

  • 15.1.2 Creating Message Catalogs from Source Code 1004

  • 15.1.3 Finding Message Catalogs at Runtime 1007

  • 15.1.4 Plural Values 1008

  • 15.1.5 Application Versus Module Localization 1011

  • 15.1.6 Switching Translations 1012

  • 15.2 locale: Cultural Localization API 1012

  • 15.2.1 Probing the Current Locale 1013

  • 15.2.2 Currency 1018

  • 15.2.3 Formatting Numbers 1019xxiv Contents

  • 15.2.4 Parsing Numbers 1021

  • 15.2.5 Dates and Times 1022

  • Chapter 16 Developer Tools 1023

  • 16.1 pydoc: Online Help for Modules 1024

  • 16.1.1 Plain Text Help 1024

  • 16.1.2 HTML Help 1025

  • 16.1.3 Interactive Help 1026

  • 16.2 doctest: Testing Through Documentation 1026

  • 16.2.1 Getting Started 1026

  • 16.2.2 Handling Unpredictable Output 1028

  • 16.2.3 Tracebacks 1032

  • 16.2.4 Working Around Whitespace 1034

  • 16.2.5 Test Locations 1039

  • 16.2.6 External Documentation 1042

  • 16.2.7 Running Tests 1044

  • 16.2.8 Test Context 1048

  • 16.3 unittest: Automated Testing Framework 1051

  • 16.3.1 Basic Test Structure 1051

  • 16.3.2 Running Tests 1051

  • 16.3.3 Test Outcomes 1052

  • 16.3.4 Asserting Truth 1054

  • 16.3.5 Testing Equality 1054

  • 16.3.6 Almost Equal? 1055

  • 16.3.7 Containers 1056

  • 16.3.8 Testing for Exceptions 1061

  • 16.3.9 Test Fixtures 1062

  • 16.3.10 Repeating Tests with Different Inputs 1065

  • 16.3.11 Skipping Tests 1066

  • 16.3.12 Ignoring Failing Tests 1068

  • 16.4 trace: Follow Program Flow 1069

  • 16.4.1 Example Program 1069

  • 16.4.2 Tracing Execution 1069

  • 16.4.3 Code Coverage 1070

  • 16.4.4 Calling Relationships 1073

  • 16.4.5 Programming Interface 1074

  • 16.4.6 Saving Result Data 1076

  • 16.4.7 Options 1077

  • 16.5 traceback: Exceptions and Stack Traces 1078

  • 16.5.1 Supporting Functions 1079

  • 16.5.2 Examining the Stack 1079

  • 16.5.3 TracebackException 1081

  • 16.5.4 Low-Level Exception APIs 1082

  • 16.5.5 Low-Level Stack APIs 1086Contents xxv

  • 16.6 cgitb: Detailed Traceback Reports 1089

  • 16.6.1 Standard Traceback Dumps 1089

  • 16.6.2 Enabling Detailed Tracebacks 1090

  • 16.6.3 Local Variables in Tracebacks 1093

  • 16.6.4 Exception Properties 1096

  • 16.6.5 HTML Output 1098

  • 16.6.6 Logging Tracebacks 1098

  • 16.7 pdb: Interactive Debugger 1101

  • 16.7.1 Starting the Debugger 1101

  • 16.7.2 Controlling the Debugger 1104

  • 16.7.3 Breakpoints 1117

  • 16.7.4 Changing Execution Flow 1129

  • 16.7.5 Customizing the Debugger with Aliases 1136

  • 16.7.6 Saving Configuration Settings 1137

  • 16.8 profile and pstats: Performance Analysis 1140

  • 16.8.1 Running the Profiler 1140

  • 16.8.2 Running in a Context 1143

  • 16.8.3 pstats: Saving and Working with Statistics 1144

  • 16.8.4 Limiting Report Contents 1145

  • 16.8.5 Caller/Callee Graphs 1146

  • 16.9 timeit: Time the Execution of Small Bits of Python Code 1148

  • 16.9.1 Module Contents 1148

  • 16.9.2 Basic Example 1148

  • 16.9.3 Storing Values in a Dictionary 1149

  • 16.9.4 From the Command Line 1152

  • 16.10 tabnanny: Indentation Validator 1153

  • 16.10.1 Running from the Command Line 1153

  • 16.11 compileall: Byte-Compile Source Files 1155

  • 16.11.1 Compiling One Directory 1155

  • 16.11.2 Ignoring Files 1156

  • 16.11.3 Compiling sys.path 1157

  • 16.11.4 Compiling Individual Files 1157

  • 16.11.5 From the Command Line 1158

  • 16.12 pyclbr: Class Browser 1160

  • 16.12.1 Scanning for Classes 1161

  • 16.12.2 Scanning for Functions 1162

  • 16.13 venv: Create Virtual Environments 1163

  • 16.13.1 Creating Environments 1163

  • 16.13.2 Contents of a Virtual Environment 1164

  • 16.13.3 Using Virtual Environments 1165

  • 16.14 ensurepip: Install the Python Package Installer 1167

  • 16.14.1 Installing pip 1167xxvi Contents

  • Chapter 17 Runtime Features 1169

  • 17.1 site: Site-wide Configuration 1169

  • 17.1.1 Import Path 1169

  • 17.1.2 User Directories 1171

  • 17.1.3 Path Configuration Files 1172

  • 17.1.4 Customizing Site Configuration 1175

  • 17.1.5 Customizing User Configuration 1176

  • 17.1.6 Disabling the site Module 1177

  • 17.2 sys: System-Specific Configuration 1178

  • 17.2.1 Interpreter Settings 1178

  • 17.2.2 Runtime Environment 1185

  • 17.2.3 Memory Management and Limits 1187

  • 17.2.4 Exception Handling 1194

  • 17.2.5 Low-Level Thread Support 1197

  • 17.2.6 Modules and Imports 1200

  • 17.2.7 Tracing a Program As It Runs 1221

  • 17.3 os: Portable Access to Operating System-Specific Features 1227

  • 17.3.1 Examining the File System Contents 1228

  • 17.3.2 Managing File System Permissions 1230

  • 17.3.3 Creating and Deleting Directories 1233

  • 17.3.4 Working with Symbolic Links 1234

  • 17.3.5 Safely Replacing an Existing File 1234

  • 17.3.6 Detecting and Changing the Process Owner 1235

  • 17.3.7 Managing the Process Environment 1237

  • 17.3.8 Managing the Process Working Directory 1238

  • 17.3.9 Running External Commands 1239

  • 17.3.10 Creating Processes with os.fork() 1240

  • 17.3.11 Waiting for Child Processes 1242

  • 17.3.12 Spawning New Processes 1244

  • 17.3.13 Operating System Error Codes 1245

  • 17.4 platform: System Version Information 1246

  • 17.4.1 Interpreter 1246

  • 17.4.2 Platform 1247

  • 17.4.3 Operating System and Hardware Information 1248

  • 17.4.4 Executable Architecture 1250

  • 17.5 resource: System Resource Management 1251

  • 17.5.1 Current Usage 1251

  • 17.5.2 Resource Limits 1252

  • 17.6 gc: Garbage Collector 1254

  • 17.6.1 Tracing References 1255

  • 17.6.2 Forcing Garbage Collection 1258

  • 17.6.3 Finding References to Objects That Cannot Be Collected 1259

  • 17.6.4 Collection Thresholds and Generations 1261

  • 17.6.5 Debugging 1265Contents xxvii

  • 17.7 sysconfig: Interpreter Compile-Time Configuration 1270

  • 17.7.1 Configuration Variables 1270

  • 17.7.2 Installation Paths 1272

  • 17.7.3 Python Version and Platform 1276

  • Chapter 18 Language Tools 1279

  • 18.1 warnings: Non-fatal Alerts 1279

  • 18.1.1 Categories and Filtering 1280

  • 18.1.2 Generating Warnings 1280

  • 18.1.3 Filtering with Patterns 1281

  • 18.1.4 Repeated Warnings 1283

  • 18.1.5 Alternative Message Delivery Functions 1284

  • 18.1.6 Formatting 1285

  • 18.1.7 Stack Level in Warnings 1286

  • 18.2 abc: Abstract Base Classes 1287

  • 18.2.1 How ABCs Work 1287

  • 18.2.2 Registering a Concrete Class 1287

  • 18.2.3 Implementation Through Subclassing 1288

  • 18.2.4 Helper Base Class 1289

  • 18.2.5 Incomplete Implementations 1290

  • 18.2.6 Concrete Methods in ABCs 1291

  • 18.2.7 Abstract Properties 1292

  • 18.2.8 Abstract Class and Static Methods 1295

  • 18.3 dis: Python Byte-Code Disassembler 1296

  • 18.3.1 Basic Disassembly 1297

  • 18.3.2 Disassembling Functions 1297

  • 18.3.3 Classes 1300

  • 18.3.4 Source Code 1301

  • 18.3.5 Using Disassembly to Debug 1302

  • 18.3.6 Performance Analysis of Loops 1303

  • 18.3.7 Compiler Optimizations 1309

  • 18.4 inspect: Inspect Live Objects 1311

  • 18.4.1 Example Module 1311

  • 18.4.2 Inspecting Modules 1312

  • 18.4.3 Inspecting Classes 1314

  • 18.4.4 Inspecting Instances 1316

  • 18.4.5 Documentation Strings 1316

  • 18.4.6 Retrieving Source 1318

  • 18.4.7 Method and Function Signatures 1319

  • 18.4.8 Class Hierarchies 1322

  • 18.4.9 Method Resolution Order 1323

  • 18.4.10 The Stack and Frames 1324

  • 18.4.11 Command-Line Interface 1327xxviii Contents

  • Chapter 19 Modules and Packages 1329

  • 19.1 importlib: Python's Import Mechanism 1329

  • 19.1.1 Example Package 1329

  • 19.1.2 Module Types 1330

  • 19.1.3 Importing Modules 1331

  • 19.1.4 Loaders 1332

  • 19.2 pkgutil: Package Utilities 1334

  • 19.2.1 Package Import Paths 1334

  • 19.2.2 Development Versions of Packages 1336

  • 19.2.3 Managing Paths with PKG Files 1338

  • 19.2.4 Nested Packages 1340

  • 19.2.5 Package Data 1341

  • 19.3 zipimport: Load Python Code from ZIP Archives 1344

  • 19.3.1 Example 1344

  • 19.3.2 Finding a Module 1345

  • 19.3.3 Accessing Code 1345

  • 19.3.4 Source 1346

  • 19.3.5 Packages 1348

  • 19.3.6 Data 1348

  • Appendix A Porting Notes 1351

  • A.1 References 1351

  • A.2 New Modules 1352

  • A.3 Renamed Modules 1352

  • A.4 Removed Modules 1354

  • A.4.1 bsddb 1354

  • A.4.2 commands 1354

  • A.4.3 compiler 1354

  • A.4.4 dircache 1354

  • A.4.5 EasyDialogs 1354

  • A.4.6 exceptions 1354

  • A.4.7 htmllib 1354

  • A.4.8 md5 1354

  • A.4.9 mimetools, MimeWriter, mimify, multifile, and rfc822 1354

  • A.4.10 popen2 1354

  • A.4.11 posixfile 1355

  • A.4.12 sets 1355

  • A.4.13 sha 1355

  • A.4.14 sre 1355

  • A.4.15 statvfs 1355

  • A.4.16 thread 1355

  • A.4.17 user 1355

  • A.5 Deprecated Modules 1355

  • A.5.1 asyncore and asynchat 1355

  • A.5.2 formatter 1355Contents xxix

  • A.5.3 imp 1356

  • A.5.4 optparse 1356

  • A.6 Summary of Changes to Modules 1356

  • A.6.1 abc 1356

  • A.6.2 anydbm 1356

  • A.6.3 argparse 1356

  • A.6.4 array 1357

  • A.6.5 atexit 1357

  • A.6.6 base64 1357

  • A.6.7 bz2 1357

  • A.6.8 collections 1357

  • A.6.9 comands 1357

  • A.6.10 configparser 1358

  • A.6.11 contextlib 1358

  • A.6.12 csv 1358

  • A.6.13 datetime 1358

  • A.6.14 decimal 1358

  • A.6.15 fractions 1358

  • A.6.16 gc 1358

  • A.6.17 gettext 1359

  • A.6.18 glob 1359

  • A.6.19 http.cookies 1359

  • A.6.20 imaplib 1359

  • A.6.21 inspect 1359

  • A.6.22 itertools 1359

  • A.6.23 json 1359

  • A.6.24 locale 1359

  • A.6.25 logging 1360

  • A.6.26 mailbox 1360

  • A.6.27 mmap 1360

  • A.6.28 operator 1360

  • A.6.29 os 1360

  • A.6.30 os.path 1361

  • A.6.31 pdb 1361

  • A.6.32 pickle 1361

  • A.6.33 pipes 1362

  • A.6.34 platform 1362

  • A.6.35 random 1362

  • A.6.36 re 1362

  • A.6.37 shelve 1362

  • A.6.38 signal 1362

  • A.6.39 socket 1362

  • A.6.40 socketserver 1363

  • A.6.41 string 1363

  • A.6.42 struct 1363xxx Contents

  • A.6.43 subprocess 1363

  • A.6.44 sys 1363

  • A.6.45 threading 1364

  • A.6.46 time 1364

  • A.6.47 unittest 1364

  • A.6.48 UserDict, UserList, and UserString 1365

  • A.6.49 uuid 1365

  • A.6.50 whichdb 1365

  • A.6.51 xml.etree.ElementTree 1365

  • A.6.52 zipimport 1365

  • Appendix B Outside of the Standard Library 1367

  • B.1 Text 1367

  • B.2 Algorithms 1367

  • B.3 Dates and Times 1368

  • B.4 Mathematics 1368

  • B.5 Data Persistence and Exchange 1368

  • B.6 Cryptography 1369

  • B.7 Concurrency with Processes, Threads, and Coroutines 1369

  • B.8 The Internet 1369

  • B.9 Email 1370

  • B.10 Application Building Blocks 1370

  • B.11 Developer Tools 1371


About

<> Dian Zi Shu He Pei Tao Dai Ma "The Python Standard Library by Example" ebook and source code Yi Ben You Hou You Quan De Jiang Jie Python3Biao Zhun Ku De Shu Ji (1000Duo Ye )Gua He Dang Zuo Zi Dian Can Kao Huo Zhe Xian Xia Shi Man Man Yue Du .

Topics

Resources

Readme

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages