⇤ ← Revision 1 as of 2006-09-12 13:13:58
Size: 15518
Comment: 初次建立书籍目录
|
Size: 16281
Comment: 调整页面格式
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
在邮件列表发起了此翻译工程,希望能够对使用Python进行编程应用有所帮助。有兴趣参与的朋友可以把自己的名字注在相关章节的后面,表示认领。 | 在邮件列表发起了此翻译工程,希望能够对使用Python进行编程应用有所帮助。书的内容很庞大,只有群策群力才行,请有兴趣参与的朋友把自己的名字注在相关章节的后面,并表明计划完成的日期,以认领章节,防止重复劳动。 |
Line 9: | Line 9: |
* 欢迎志愿人员参加翻译,审核! * 建议使用模板 zhPyCookbookTemplate ?? == Programming Python, 3rd Edition == |
* 欢迎志愿人员参加翻译,审核! * 翻译仅仅是为了学习目的,其它商业版权纠纷与此无关! * 建议使用模板 zhPyCookbookTemplate = Programming Python, 3rd Edition = |
Line 25: | Line 26: |
{{{ Copyright }}} {{{ Foreword }}} {{{ Preface }}} {{{ Part I: The Beginning }}} |
== Copyright == == Foreword == == Preface == == Part I: The Beginning == |
Line 30: | Line 31: |
* ''["PP3eD-1-1"]'' Section 1.1. "And Now for Something Completely Different" * ''["PP3eD-1-2"]'' Section 1.2. Python Philosophy 101 * ''["PP3eD-1-3"]'' Section 1.3. The Life of Python * ''["PP3eD-1-4"]'' Section 1.4. Signs of the Python Times * ''["PP3eD-1-5"]'' Section 1.5. The Compulsory Features List * ''["PP3eD-1-6"]'' Section 1.6. What's Python Good For? * ''["PP3eD-1-7"]'' Section 1.7. What's Python Not Good For? * ''["PP3eD-1-8"]'' Section 1.8. Truth in Advertising |
* ''["PP3eD/Ch-1-1"]'' Section 1.1. "And Now for Something Completely Different" * ''["PP3eD/Ch-1-2"]'' Section 1.2. Python Philosophy 101 * ''["PP3eD/Ch-1-3"]'' Section 1.3. The Life of Python * ''["PP3eD/Ch-1-4"]'' Section 1.4. Signs of the Python Times * ''["PP3eD/Ch-1-5"]'' Section 1.5. The Compulsory Features List * ''["PP3eD/Ch-1-6"]'' Section 1.6. What's Python Good For? * ''["PP3eD/Ch-1-7"]'' Section 1.7. What's Python Not Good For? * ''["PP3eD/Ch-1-8"]'' Section 1.8. Truth in Advertising |
Line 39: | Line 40: |
* ''["PP3eD-2-1"]'' Section 2.1. "Programming Python: The Short Story" * ''["PP3eD-2-2"]'' Section 2.2. The Task * ''["PP3eD-2-3"]'' Section 2.3. Step 1: Representing Records * ''["PP3eD-2-4"]'' Section 2.4. Step 2: Storing Records Persistently * ''["PP3eD-2-5"]'' Section 2.5. Step 3: Stepping Up to OOP * ''["PP3eD-2-6"]'' Section 2.6. Step 4: Adding Console Interaction * ''["PP3eD-2-7"]'' Section 2.7. Step 5: Adding a GUI * ''["PP3eD-2-8"]'' Section 2.8. Step 6: Adding a Web Interface * ''["PP3eD-2-9"]'' Section 2.9. The End of the Demo {{{ Part II: System Programming }}} |
* ''["PP3eD/Ch-2-1"]'' Section 2.1. "Programming Python: The Short Story" * ''["PP3eD/Ch-2-2"]'' Section 2.2. The Task * ''["PP3eD/Ch-2-3"]'' Section 2.3. Step 1: Representing Records * ''["PP3eD/Ch-2-4"]'' Section 2.4. Step 2: Storing Records Persistently * ''["PP3eD/Ch-2-5"]'' Section 2.5. Step 3: Stepping Up to OOP * ''["PP3eD/Ch-2-6"]'' Section 2.6. Step 4: Adding Console Interaction * ''["PP3eD/Ch-2-7"]'' Section 2.7. Step 5: Adding a GUI * ''["PP3eD/Ch-2-8"]'' Section 2.8. Step 6: Adding a Web Interface * ''["PP3eD/Ch-2-9"]'' Section 2.9. The End of the Demo == Part II: System Programming == |
Line 50: | Line 51: |
* ''["PP3eD-3-1"]'' Section 3.1. "The os.path to Knowledge" * ''["PP3eD-3-2"]'' Section 3.2. System Scripting Overview * ''["PP3eD-3-3"]'' Section 3.3. Introducing the sys Module * ''["PP3eD-3-4"]'' Section 3.4. Introducing the os Module * ''["PP3eD-3-5"]'' Section 3.5. Script Execution Context * ''["PP3eD-3-6"]'' Section 3.6. Current Working Directory * ''["PP3eD-3-7"]'' Section 3.7. Command-Line Arguments * ''["PP3eD-3-8"]'' Section 3.8. Shell Environment Variables * ''["PP3eD-3-9"]'' Section 3.9. Standard Streams |
* ''["PP3eD/Ch-3-1"]'' Section 3.1. "The os.path to Knowledge" * ''["PP3eD/Ch-3-2"]'' Section 3.2. System Scripting Overview * ''["PP3eD/Ch-3-3"]'' Section 3.3. Introducing the sys Module * ''["PP3eD/Ch-3-4"]'' Section 3.4. Introducing the os Module * ''["PP3eD/Ch-3-5"]'' Section 3.5. Script Execution Context * ''["PP3eD/Ch-3-6"]'' Section 3.6. Current Working Directory * ''["PP3eD/Ch-3-7"]'' Section 3.7. Command-Line Arguments * ''["PP3eD/Ch-3-8"]'' Section 3.8. Shell Environment Variables * ''["PP3eD/Ch-3-9"]'' Section 3.9. Standard Streams |
Line 60: | Line 61: |
* ''["PP3eD-4-1"]'' Section 4.1. "Erase Your Hard Drive in Five Easy Steps!" * ''["PP3eD-4-2"]'' Section 4.2. File Tools * ''["PP3eD-4-3"]'' Section 4.3. Directory Tools |
* ''["PP3eD/Ch-4-1"]'' Section 4.1. "Erase Your Hard Drive in Five Easy Steps!" * ''["PP3eD/Ch-4-2"]'' Section 4.2. File Tools * ''["PP3eD/Ch-4-3"]'' Section 4.3. Directory Tools |
Line 64: | Line 65: |
* ''["PP3eD-5-1"]'' Section 5.1. "Telling the Monkeys What to Do" * ''["PP3eD-5-2"]'' Section 5.2. Forking Processes * ''["PP3eD-5-3"]'' Section 5.3. Threads * ''["PP3eD-5-4"]'' Section 5.4. Program Exits * ''["PP3eD-5-5"]'' Section 5.5. Interprocess Communication * ''["PP3eD-5-6"]'' Section 5.6. Pipes * ''["PP3eD-5-7"]'' Section 5.7. Signals * ''["PP3eD-5-8"]'' Section 5.8. Other Ways to Start Programs * ''["PP3eD-5-9"]'' Section 5.9. A Portable Program-Launch Framework * ''["PP3eD-5-10"]'' Section 5.10. Other System Tools |
* ''["PP3eD/Ch-5-1"]'' Section 5.1. "Telling the Monkeys What to Do" * ''["PP3eD/Ch-5-2"]'' Section 5.2. Forking Processes * ''["PP3eD/Ch-5-3"]'' Section 5.3. Threads * ''["PP3eD/Ch-5-4"]'' Section 5.4. Program Exits * ''["PP3eD/Ch-5-5"]'' Section 5.5. Interprocess Communication * ''["PP3eD/Ch-5-6"]'' Section 5.6. Pipes * ''["PP3eD/Ch-5-7"]'' Section 5.7. Signals * ''["PP3eD/Ch-5-8"]'' Section 5.8. Other Ways to Start Programs * ''["PP3eD/Ch-5-9"]'' Section 5.9. A Portable Program-Launch Framework * ''["PP3eD/Ch-5-10"]'' Section 5.10. Other System Tools |
Line 75: | Line 76: |
* ''["PP3eD-6-1"]'' Section 6.1. "Splits and Joins and Alien Invasions" * ''["PP3eD-6-2"]'' Section 6.2. Splitting and Joining Files * ''["PP3eD-6-3"]'' Section 6.3. Generating Forward-Link Web Pages * ''["PP3eD-6-4"]'' Section 6.4. A Regression Test Script * ''["PP3eD-6-5"]'' Section 6.5. Packing and Unpacking Files * ''["PP3eD-6-6"]'' Section 6.6. Automated Program Launchers |
* ''["PP3eD/Ch-6-1"]'' Section 6.1. "Splits and Joins and Alien Invasions" * ''["PP3eD/Ch-6-2"]'' Section 6.2. Splitting and Joining Files * ''["PP3eD/Ch-6-3"]'' Section 6.3. Generating Forward-Link Web Pages * ''["PP3eD/Ch-6-4"]'' Section 6.4. A Regression Test Script * ''["PP3eD/Ch-6-5"]'' Section 6.5. Packing and Unpacking Files * ''["PP3eD/Ch-6-6"]'' Section 6.6. Automated Program Launchers |
Line 82: | Line 83: |
* ''["PP3eD-7-1"]'' Section 7.1. "The Greps of Wrath" * ''["PP3eD-7-2"]'' Section 7.2. Fixing DOS Line Ends * ''["PP3eD-7-3"]'' Section 7.3. Fixing DOS Filenames * ''["PP3eD-7-4"]'' Section 7.4. Searching Directory Trees * ''["PP3eD-7-5"]'' Section 7.5. Visitor: Walking Trees Generically * ''["PP3eD-7-6"]'' Section 7.6. Copying Directory Trees * ''["PP3eD-7-7"]'' Section 7.7. Deleting Directory Trees * ''["PP3eD-7-8"]'' Section 7.8. Comparing Directory Trees {{{ Part III: GUI Programming }}} |
* ''["PP3eD/Ch-7-1"]'' Section 7.1. "The Greps of Wrath" * ''["PP3eD/Ch-7-2"]'' Section 7.2. Fixing DOS Line Ends * ''["PP3eD/Ch-7-3"]'' Section 7.3. Fixing DOS Filenames * ''["PP3eD/Ch-7-4"]'' Section 7.4. Searching Directory Trees * ''["PP3eD/Ch-7-5"]'' Section 7.5. Visitor: Walking Trees Generically * ''["PP3eD/Ch-7-6"]'' Section 7.6. Copying Directory Trees * ''["PP3eD/Ch-7-7"]'' Section 7.7. Deleting Directory Trees * ''["PP3eD/Ch-7-8"]'' Section 7.8. Comparing Directory Trees == Part III: GUI Programming == |
Line 92: | Line 93: |
* ''["PP3eD-8-1"]'' Section 8.1. "Here's Looking at You, Kid" * ''["PP3eD-8-2"]'' Section 8.2. Python GUI Development Options * ''["PP3eD-8-3"]'' Section 8.3. Tkinter Overview * ''["PP3eD-8-4"]'' Section 8.4. Climbing the GUI Learning Curve * ''["PP3eD-8-5"]'' Section 8.5. Tkinter Coding Basics * ''["PP3eD-8-6"]'' Section 8.6. Tkinter Coding Alternatives * ''["PP3eD-8-7"]'' Section 8.7. Adding Buttons and Callbacks * ''["PP3eD-8-8"]'' Section 8.8. Adding User-Defined Callback Handlers * ''["PP3eD-8-9"]'' Section 8.9. Adding Multiple Widgets * ''["PP3eD-8-10"]'' Section 8.10. Customizing Widgets with Classes * ''["PP3eD-8-11"]'' Section 8.11. Reusable GUI Components with Classes * ''["PP3eD-8-12"]'' Section 8.12. The End of the Tutorial * ''["PP3eD-8-13"]'' Section 8.13. Python/Tkinter for Tcl/Tk Converts |
* ''["PP3eD/Ch-8-1"]'' Section 8.1. "Here's Looking at You, Kid" * ''["PP3eD/Ch-8-2"]'' Section 8.2. Python GUI Development Options * ''["PP3eD/Ch-8-3"]'' Section 8.3. Tkinter Overview * ''["PP3eD/Ch-8-4"]'' Section 8.4. Climbing the GUI Learning Curve * ''["PP3eD/Ch-8-5"]'' Section 8.5. Tkinter Coding Basics * ''["PP3eD/Ch-8-6"]'' Section 8.6. Tkinter Coding Alternatives * ''["PP3eD/Ch-8-7"]'' Section 8.7. Adding Buttons and Callbacks * ''["PP3eD/Ch-8-8"]'' Section 8.8. Adding User-Defined Callback Handlers * ''["PP3eD/Ch-8-9"]'' Section 8.9. Adding Multiple Widgets * ''["PP3eD/Ch-8-10"]'' Section 8.10. Customizing Widgets with Classes * ''["PP3eD/Ch-8-11"]'' Section 8.11. Reusable GUI Components with Classes * ''["PP3eD/Ch-8-12"]'' Section 8.12. The End of the Tutorial * ''["PP3eD/Ch-8-13"]'' Section 8.13. Python/Tkinter for Tcl/Tk Converts |
Line 106: | Line 107: |
* ''["PP3eD-9-1"]'' Section 9.1. "Widgets and Gadgets and GUIs, Oh My!" * ''["PP3eD-9-2"]'' Section 9.2. Configuring Widget Appearance * ''["PP3eD-9-3"]'' Section 9.3. Top-Level Windows * ''["PP3eD-9-4"]'' Section 9.4. Dialogs * ''["PP3eD-9-5"]'' Section 9.5. Binding Events * ''["PP3eD-9-6"]'' Section 9.6. Message and Entry * ''["PP3eD-9-7"]'' Section 9.7. Checkbutton, Radiobutton, and Scale * ''["PP3eD-9-8"]'' Section 9.8. Running GUI Code Three Ways * ''["PP3eD-9-9"]'' Section 9.9. Images * ''["PP3eD-9-10"]'' Section 9.10. Viewing and Processing Images with PIL |
* ''["PP3eD/Ch-9-1"]'' Section 9.1. "Widgets and Gadgets and GUIs, Oh My!" * ''["PP3eD/Ch-9-2"]'' Section 9.2. Configuring Widget Appearance * ''["PP3eD/Ch-9-3"]'' Section 9.3. Top-Level Windows * ''["PP3eD/Ch-9-4"]'' Section 9.4. Dialogs * ''["PP3eD/Ch-9-5"]'' Section 9.5. Binding Events * ''["PP3eD/Ch-9-6"]'' Section 9.6. Message and Entry * ''["PP3eD/Ch-9-7"]'' Section 9.7. Checkbutton, Radiobutton, and Scale * ''["PP3eD/Ch-9-8"]'' Section 9.8. Running GUI Code Three Ways * ''["PP3eD/Ch-9-9"]'' Section 9.9. Images * ''["PP3eD/Ch-9-10"]'' Section 9.10. Viewing and Processing Images with PIL |
Line 117: | Line 118: |
* ''["PP3eD-10-1"]'' Section 10.1. "On Today's Menu: Spam, Spam, and Spam" * ''["PP3eD-10-2"]'' Section 10.2. Menus * ''["PP3eD-10-3"]'' Section 10.3. Listboxes and Scrollbars * ''["PP3eD-10-4"]'' Section 10.4. Text * ''["PP3eD-10-5"]'' Section 10.5. Canvas * ''["PP3eD-10-6"]'' Section 10.6. Grids * ''["PP3eD-10-7"]'' Section 10.7. Time Tools, Threads, and Animation * ''["PP3eD-10-8"]'' Section 10.8. The End of the Tour * ''["PP3eD-10-9"]'' Section 10.9. The PyDemos and PyGadgets Launchers |
* ''["PP3eD/Ch-10-1"]'' Section 10.1. "On Today's Menu: Spam, Spam, and Spam" * ''["PP3eD/Ch-10-2"]'' Section 10.2. Menus * ''["PP3eD/Ch-10-3"]'' Section 10.3. Listboxes and Scrollbars * ''["PP3eD/Ch-10-4"]'' Section 10.4. Text * ''["PP3eD/Ch-10-5"]'' Section 10.5. Canvas * ''["PP3eD/Ch-10-6"]'' Section 10.6. Grids * ''["PP3eD/Ch-10-7"]'' Section 10.7. Time Tools, Threads, and Animation * ''["PP3eD/Ch-10-8"]'' Section 10.8. The End of the Tour * ''["PP3eD/Ch-10-9"]'' Section 10.9. The PyDemos and PyGadgets Launchers |
Line 127: | Line 128: |
* ''["PP3eD-11-1"]'' Section 11.1. "Building a Better Mouse Trap" * ''["PP3eD-11-2"]'' Section 11.2. GuiMixin: Common Tool Mixin Classes * ''["PP3eD-11-3"]'' Section 11.3. GuiMaker: Automating Menus and Toolbars * ''["PP3eD-11-4"]'' Section 11.4. ShellGui: GUIs for Command-Line Tools * ''["PP3eD-11-5"]'' Section 11.5. GuiStreams: Redirecting Streams to Widgets * ''["PP3eD-11-6"]'' Section 11.6. Reloading Callback Handlers Dynamically * ''["PP3eD-11-7"]'' Section 11.7. Wrapping Up Top-Level Window Interfaces * ''["PP3eD-11-8"]'' Section 11.8. GUIs, Threads, and Queues * ''["PP3eD-11-9"]'' Section 11.9. More Ways to Add GUIs to Non-GUI Code |
* ''["PP3eD/Ch-11-1"]'' Section 11.1. "Building a Better Mouse Trap" * ''["PP3eD/Ch-11-2"]'' Section 11.2. GuiMixin: Common Tool Mixin Classes * ''["PP3eD/Ch-11-3"]'' Section 11.3. GuiMaker: Automating Menus and Toolbars * ''["PP3eD/Ch-11-4"]'' Section 11.4. ShellGui: GUIs for Command-Line Tools * ''["PP3eD/Ch-11-5"]'' Section 11.5. GuiStreams: Redirecting Streams to Widgets * ''["PP3eD/Ch-11-6"]'' Section 11.6. Reloading Callback Handlers Dynamically * ''["PP3eD/Ch-11-7"]'' Section 11.7. Wrapping Up Top-Level Window Interfaces * ''["PP3eD/Ch-11-8"]'' Section 11.8. GUIs, Threads, and Queues * ''["PP3eD/Ch-11-9"]'' Section 11.9. More Ways to Add GUIs to Non-GUI Code |
Line 137: | Line 138: |
* ''["PP3eD-12-1"]'' Section 12.1. "Python, Open Source, and Camaros" * ''["PP3eD-12-2"]'' Section 12.2. PyEdit: A Text Editor Program/Object * ''["PP3eD-12-3"]'' Section 12.3. PyPhoto: An Image Viewer and Resizer * ''["PP3eD-12-4"]'' Section 12.4. PyView: An Image and Notes Slideshow * ''["PP3eD-12-5"]'' Section 12.5. PyDraw: Painting and Moving Graphics * ''["PP3eD-12-6"]'' Section 12.6. PyClock: An Analog/Digital Clock Widget * ''["PP3eD-12-7"]'' Section 12.7. PyToe: A Tic-Tac-Toe Game Widget * ''["PP3eD-12-8"]'' Section 12.8. Where to Go from Here {{{ Part IV: Internet Programming }}} |
* ''["PP3eD/Ch-12-1"]'' Section 12.1. "Python, Open Source, and Camaros" * ''["PP3eD/Ch-12-2"]'' Section 12.2. PyEdit: A Text Editor Program/Object * ''["PP3eD/Ch-12-3"]'' Section 12.3. PyPhoto: An Image Viewer and Resizer * ''["PP3eD/Ch-12-4"]'' Section 12.4. PyView: An Image and Notes Slideshow * ''["PP3eD/Ch-12-5"]'' Section 12.5. PyDraw: Painting and Moving Graphics * ''["PP3eD/Ch-12-6"]'' Section 12.6. PyClock: An Analog/Digital Clock Widget * ''["PP3eD/Ch-12-7"]'' Section 12.7. PyToe: A Tic-Tac-Toe Game Widget * ''["PP3eD/Ch-12-8"]'' Section 12.8. Where to Go from Here == Part IV: Internet Programming == |
Line 147: | Line 148: |
* ''["PP3eD-13-1"]'' Section 13.1. "Tune In, Log On, and Drop Out" * ''["PP3eD-13-2"]'' Section 13.2. Plumbing the Internet * ''["PP3eD-13-3"]'' Section 13.3. Socket Programming * ''["PP3eD-13-4"]'' Section 13.4. Handling Multiple Clients * ''["PP3eD-13-5"]'' Section 13.5. A Simple Python File Server |
* ''["PP3eD/Ch-13-1"]'' Section 13.1. "Tune In, Log On, and Drop Out" * ''["PP3eD/Ch-13-2"]'' Section 13.2. Plumbing the Internet * ''["PP3eD/Ch-13-3"]'' Section 13.3. Socket Programming * ''["PP3eD/Ch-13-4"]'' Section 13.4. Handling Multiple Clients * ''["PP3eD/Ch-13-5"]'' Section 13.5. A Simple Python File Server |
Line 153: | Line 154: |
* ''["PP3eD-14-1"]'' Section 14.1. "Socket to Me!" * ''["PP3eD-14-2"]'' Section 14.2. FTP: Transferring Files over the Net * ''["PP3eD-14-3"]'' Section 14.3. Processing Internet Email * ''["PP3eD-14-4"]'' Section 14.4. POP: Fetching Email * ''["PP3eD-14-5"]'' Section 14.5. SMTP: Sending Email * ''["PP3eD-14-6"]'' Section 14.6. email: Parsing and Composing Mails * ''["PP3eD-14-7"]'' Section 14.7. pymail: A Console-Based Email Client * ''["PP3eD-14-8"]'' Section 14.8. The mailtools Utility Package * ''["PP3eD-14-9"]'' Section 14.9. NNTP: Accessing Newsgroups * ''["PP3eD-14-10"]'' Section 14.10. HTTP: Accessing Web Sites * ''["PP3eD-14-11"]'' Section 14.11. Module urllib Revisited * ''["PP3eD-14-12"]'' Section 14.12. Other Client-Side Scripting Options |
* ''["PP3eD/Ch-14-1"]'' Section 14.1. "Socket to Me!" * ''["PP3eD/Ch-14-2"]'' Section 14.2. FTP: Transferring Files over the Net * ''["PP3eD/Ch-14-3"]'' Section 14.3. Processing Internet Email * ''["PP3eD/Ch-14-4"]'' Section 14.4. POP: Fetching Email * ''["PP3eD/Ch-14-5"]'' Section 14.5. SMTP: Sending Email * ''["PP3eD/Ch-14-6"]'' Section 14.6. email: Parsing and Composing Mails * ''["PP3eD/Ch-14-7"]'' Section 14.7. pymail: A Console-Based Email Client * ''["PP3eD/Ch-14-8"]'' Section 14.8. The mailtools Utility Package * ''["PP3eD/Ch-14-9"]'' Section 14.9. NNTP: Accessing Newsgroups * ''["PP3eD/Ch-14-10"]'' Section 14.10. HTTP: Accessing Web Sites * ''["PP3eD/Ch-14-11"]'' Section 14.11. Module urllib Revisited * ''["PP3eD/Ch-14-12"]'' Section 14.12. Other Client-Side Scripting Options |
Line 166: | Line 167: |
* ''["PP3eD-15-1"]'' Section 15.1. "Use the Source, Luke" * ''["PP3eD-15-2"]'' Section 15.2. A PyMailGUI Demo * ''["PP3eD-15-3"]'' Section 15.3. PyMailGUI Implementation |
* ''["PP3eD/Ch-15-1"]'' Section 15.1. "Use the Source, Luke" * ''["PP3eD/Ch-15-2"]'' Section 15.2. A PyMailGUI Demo * ''["PP3eD/Ch-15-3"]'' Section 15.3. PyMailGUI Implementation |
Line 170: | Line 171: |
* ''["PP3eD-16-1"]'' Section 16.1. "Oh What a Tangled Web We Weave" * ''["PP3eD-16-2"]'' Section 16.2. What's a Server-Side CGI Script? * ''["PP3eD-16-3"]'' Section 16.3. Running Server-Side Examples * ''["PP3eD-16-4"]'' Section 16.4. Climbing the CGI Learning Curve * ''["PP3eD-16-5"]'' Section 16.5. Saving State Information in CGI Scripts * ''["PP3eD-16-6"]'' Section 16.6. The Hello World Selector * ''["PP3eD-16-7"]'' Section 16.7. Refactoring Code for Maintainability * ''["PP3eD-16-8"]'' Section 16.8. More on HTML and URL Escapes * ''["PP3eD-16-9"]'' Section 16.9. Transferring Files to Clients and Servers |
* ''["PP3eD/Ch-16-1"]'' Section 16.1. "Oh What a Tangled Web We Weave" * ''["PP3eD/Ch-16-2"]'' Section 16.2. What's a Server-Side CGI Script? * ''["PP3eD/Ch-16-3"]'' Section 16.3. Running Server-Side Examples * ''["PP3eD/Ch-16-4"]'' Section 16.4. Climbing the CGI Learning Curve * ''["PP3eD/Ch-16-5"]'' Section 16.5. Saving State Information in CGI Scripts * ''["PP3eD/Ch-16-6"]'' Section 16.6. The Hello World Selector * ''["PP3eD/Ch-16-7"]'' Section 16.7. Refactoring Code for Maintainability * ''["PP3eD/Ch-16-8"]'' Section 16.8. More on HTML and URL Escapes * ''["PP3eD/Ch-16-9"]'' Section 16.9. Transferring Files to Clients and Servers |
Line 180: | Line 181: |
* ''["PP3eD-17-1"]'' Section 17.1. "Things to Do When Visiting Chicago" * ''["PP3eD-17-2"]'' Section 17.2. The PyMailCGI Web Site * ''["PP3eD-17-3"]'' Section 17.3. The Root Page * ''["PP3eD-17-4"]'' Section 17.4. Sending Mail by SMTP * ''["PP3eD-17-5"]'' Section 17.5. Reading POP Email * ''["PP3eD-17-6"]'' Section 17.6. Processing Fetched Mail * ''["PP3eD-17-7"]'' Section 17.7. Utility Modules * ''["PP3eD-17-8"]'' Section 17.8. CGI Script Trade-Offs |
* ''["PP3eD/Ch-17-1"]'' Section 17.1. "Things to Do When Visiting Chicago" * ''["PP3eD/Ch-17-2"]'' Section 17.2. The PyMailCGI Web Site * ''["PP3eD/Ch-17-3"]'' Section 17.3. The Root Page * ''["PP3eD/Ch-17-4"]'' Section 17.4. Sending Mail by SMTP * ''["PP3eD/Ch-17-5"]'' Section 17.5. Reading POP Email * ''["PP3eD/Ch-17-6"]'' Section 17.6. Processing Fetched Mail * ''["PP3eD/Ch-17-7"]'' Section 17.7. Utility Modules * ''["PP3eD/Ch-17-8"]'' Section 17.8. CGI Script Trade-Offs |
Line 189: | Line 190: |
* ''["PP3eD-18-1"]'' Section 18.1. "Surfing on the Shoulders of Giants" * ''["PP3eD-18-2"]'' Section 18.2. Zope: A Web Application Framework * ''["PP3eD-18-3"]'' Section 18.3. HTMLgen: Web Pages from Objects * ''["PP3eD-18-4"]'' Section 18.4. Jython: Python for Java * ''["PP3eD-18-5"]'' Section 18.5. Grail: A Python-Based Web Browser * ''["PP3eD-18-6"]'' Section 18.6. XML Processing Tools * ''["PP3eD-18-7"]'' Section 18.7. Windows Web Scripting Extensions * ''["PP3eD-18-8"]'' Section 18.8. Python Server Pages * ''["PP3eD-18-9"]'' Section 18.9. Rolling Your Own Servers in Python * ''["PP3eD-18-10"]'' Section 18.10. And Other Cool Stuff {{{ Part V: Tools and Techniques }}} |
* ''["PP3eD/Ch-18-1"]'' Section 18.1. "Surfing on the Shoulders of Giants" * ''["PP3eD/Ch-18-2"]'' Section 18.2. Zope: A Web Application Framework * ''["PP3eD/Ch-18-3"]'' Section 18.3. HTMLgen: Web Pages from Objects * ''["PP3eD/Ch-18-4"]'' Section 18.4. Jython: Python for Java * ''["PP3eD/Ch-18-5"]'' Section 18.5. Grail: A Python-Based Web Browser * ''["PP3eD/Ch-18-6"]'' Section 18.6. XML Processing Tools * ''["PP3eD/Ch-18-7"]'' Section 18.7. Windows Web Scripting Extensions * ''["PP3eD/Ch-18-8"]'' Section 18.8. Python Server Pages * ''["PP3eD/Ch-18-9"]'' Section 18.9. Rolling Your Own Servers in Python * ''["PP3eD/Ch-18-10"]'' Section 18.10. And Other Cool Stuff == Part V: Tools and Techniques == |
Line 201: | Line 202: |
* ''["PP3eD-19-1"]'' Section 19.1. "Give Me an Order of Persistence, but Hold the Pickles" * ''["PP3eD-19-2"]'' Section 19.2. Persistence Options in Python * ''["PP3eD-19-3"]'' Section 19.3. DBM Files * ''["PP3eD-19-4"]'' Section 19.4. Pickled Objects * ''["PP3eD-19-5"]'' Section 19.5. Shelve Files * ''["PP3eD-19-6"]'' Section 19.6. The ZODB Object-Oriented Database * ''["PP3eD-19-7"]'' Section 19.7. SQL Database Interfaces * ''["PP3eD-19-8"]'' Section 19.8. PyForm: A Persistent Object Viewer |
* ''["PP3eD/Ch-19-1"]'' Section 19.1. "Give Me an Order of Persistence, but Hold the Pickles" * ''["PP3eD/Ch-19-2"]'' Section 19.2. Persistence Options in Python * ''["PP3eD/Ch-19-3"]'' Section 19.3. DBM Files * ''["PP3eD/Ch-19-4"]'' Section 19.4. Pickled Objects * ''["PP3eD/Ch-19-5"]'' Section 19.5. Shelve Files * ''["PP3eD/Ch-19-6"]'' Section 19.6. The ZODB Object-Oriented Database * ''["PP3eD/Ch-19-7"]'' Section 19.7. SQL Database Interfaces * ''["PP3eD/Ch-19-8"]'' Section 19.8. PyForm: A Persistent Object Viewer |
Line 210: | Line 211: |
* ''["PP3eD-20-1"]'' Section 20.1. "Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo" * ''["PP3eD-20-2"]'' Section 20.2. Implementing Stacks * ''["PP3eD-20-3"]'' Section 20.3. Implementing Sets * ''["PP3eD-20-4"]'' Section 20.4. Subclassing Built-In Types * ''["PP3eD-20-5"]'' Section 20.5. Binary Search Trees * ''["PP3eD-20-6"]'' Section 20.6. Graph Searching * ''["PP3eD-20-7"]'' Section 20.7. Reversing Sequences * ''["PP3eD-20-8"]'' Section 20.8. Permuting Sequences * ''["PP3eD-20-9"]'' Section 20.9. Sorting Sequences * ''["PP3eD-20-10"]'' Section 20.10. Data Structures Versus Python Built-Ins * ''["PP3eD-20-11"]'' Section 20.11. PyTree: A Generic Tree Object Viewer |
* ''["PP3eD/Ch-20-1"]'' Section 20.1. "Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo" * ''["PP3eD/Ch-20-2"]'' Section 20.2. Implementing Stacks * ''["PP3eD/Ch-20-3"]'' Section 20.3. Implementing Sets * ''["PP3eD/Ch-20-4"]'' Section 20.4. Subclassing Built-In Types * ''["PP3eD/Ch-20-5"]'' Section 20.5. Binary Search Trees * ''["PP3eD/Ch-20-6"]'' Section 20.6. Graph Searching * ''["PP3eD/Ch-20-7"]'' Section 20.7. Reversing Sequences * ''["PP3eD/Ch-20-8"]'' Section 20.8. Permuting Sequences * ''["PP3eD/Ch-20-9"]'' Section 20.9. Sorting Sequences * ''["PP3eD/Ch-20-10"]'' Section 20.10. Data Structures Versus Python Built-Ins * ''["PP3eD/Ch-20-11"]'' Section 20.11. PyTree: A Generic Tree Object Viewer |
Line 222: | Line 223: |
* ''["PP3eD-21-1"]'' Section 21.1. "See Jack Hack. Hack, Jack, Hack" * ''["PP3eD-21-2"]'' Section 21.2. Strategies for Parsing Text in Python * ''["PP3eD-21-3"]'' Section 21.3. String Method Utilities * ''["PP3eD-21-4"]'' Section 21.4. Regular Expression Pattern Matching * ''["PP3eD-21-5"]'' Section 21.5. Advanced Language Tools * ''["PP3eD-21-6"]'' Section 21.6. Handcoded Parsers * ''["PP3eD-21-7"]'' Section 21.7. PyCalc: A Calculator Program/Object {{{ Part VI: Integration }}} |
* ''["PP3eD/Ch-21-1"]'' Section 21.1. "See Jack Hack. Hack, Jack, Hack" * ''["PP3eD/Ch-21-2"]'' Section 21.2. Strategies for Parsing Text in Python * ''["PP3eD/Ch-21-3"]'' Section 21.3. String Method Utilities * ''["PP3eD/Ch-21-4"]'' Section 21.4. Regular Expression Pattern Matching * ''["PP3eD/Ch-21-5"]'' Section 21.5. Advanced Language Tools * ''["PP3eD/Ch-21-6"]'' Section 21.6. Handcoded Parsers * ''["PP3eD/Ch-21-7"]'' Section 21.7. PyCalc: A Calculator Program/Object == Part VI: Integration == |
Line 231: | Line 232: |
* ''["PP3eD-22-1"]'' Section 22.1. "I Am Lost at C" * ''["PP3eD-22-2"]'' Section 22.2. Integration Modes * ''["PP3eD-22-3"]'' Section 22.3. C Extensions Overview * ''["PP3eD-22-4"]'' Section 22.4. A Simple C Extension Module * ''["PP3eD-22-5"]'' Section 22.5. Extension Module Details * ''["PP3eD-22-6"]'' Section 22.6. The SWIG Integration Code Generator * ''["PP3eD-22-7"]'' Section 22.7. Wrapping C Environment Calls * ''["PP3eD-22-8"]'' Section 22.8. A C Extension Module String Stack * ''["PP3eD-22-9"]'' Section 22.9. A C Extension Type String Stack * ''["PP3eD-22-10"]'' Section 22.10. Wrapping C++ Classes with SWIG * ''["PP3eD-22-11"]'' Section 22.11. Other Extending Tools |
* ''["PP3eD/Ch-22-1"]'' Section 22.1. "I Am Lost at C" * ''["PP3eD/Ch-22-2"]'' Section 22.2. Integration Modes * ''["PP3eD/Ch-22-3"]'' Section 22.3. C Extensions Overview * ''["PP3eD/Ch-22-4"]'' Section 22.4. A Simple C Extension Module * ''["PP3eD/Ch-22-5"]'' Section 22.5. Extension Module Details * ''["PP3eD/Ch-22-6"]'' Section 22.6. The SWIG Integration Code Generator * ''["PP3eD/Ch-22-7"]'' Section 22.7. Wrapping C Environment Calls * ''["PP3eD/Ch-22-8"]'' Section 22.8. A C Extension Module String Stack * ''["PP3eD/Ch-22-9"]'' Section 22.9. A C Extension Type String Stack * ''["PP3eD/Ch-22-10"]'' Section 22.10. Wrapping C++ Classes with SWIG * ''["PP3eD/Ch-22-11"]'' Section 22.11. Other Extending Tools |
Line 243: | Line 244: |
* ''["PP3eD-23-1"]'' Section 23.1. "Add Python. Mix Well. Repeat." * ''["PP3eD-23-2"]'' Section 23.2. C Embedding API Overview * ''["PP3eD-23-3"]'' Section 23.3. Basic Embedding Techniques * ''["PP3eD-23-4"]'' Section 23.4. Registering Callback Handler Objects * ''["PP3eD-23-5"]'' Section 23.5. Using Python Classes in C * ''["PP3eD-23-6"]'' Section 23.6. A High-Level Embedding API: ppembed * ''["PP3eD-23-7"]'' Section 23.7. Other Integration Topics {{{ Part VIII: The End }}} |
* ''["PP3eD/Ch-23-1"]'' Section 23.1. "Add Python. Mix Well. Repeat." * ''["PP3eD/Ch-23-2"]'' Section 23.2. C Embedding API Overview * ''["PP3eD/Ch-23-3"]'' Section 23.3. Basic Embedding Techniques * ''["PP3eD/Ch-23-4"]'' Section 23.4. Registering Callback Handler Objects * ''["PP3eD/Ch-23-5"]'' Section 23.5. Using Python Classes in C * ''["PP3eD/Ch-23-6"]'' Section 23.6. A High-Level Embedding API: ppembed * ''["PP3eD/Ch-23-7"]'' Section 23.7. Other Integration Topics == Part VIII: The End == |
Line 252: | Line 253: |
* ''["PP3eD-24-1"]'' Section 24.1. "That's the End of the Book, Now Here's the Meaning of Life" * ''["PP3eD-24-2"]'' Section 24.2. "Something's Wrong with the Way We Program Computers" * ''["PP3eD-24-3"]'' Section 24.3. The "Gilligan Factor" * ''["PP3eD-24-4"]'' Section 24.4. Doing the Right Thing * ''["PP3eD-24-5"]'' Section 24.5. Enter Python * ''["PP3eD-24-6"]'' Section 24.6. But What About That Bottleneck? * ''["PP3eD-24-7"]'' Section 24.7. On Sinking the Titanic * ''["PP3eD-24-8"]'' Section 24.8. So What's "Python: The Sequel"? * ''["PP3eD-24-9"]'' Section 24.9. In the Final Analysis . . . * ''["PP3eD-24-10"]'' Section 24.10. Postscript to the Second Edition (2000) * ''["PP3eD-24-11"]'' Section 24.11. Postscript to the Third Edition (2006) {{{ About the Author }}} {{{ Colophon }}} {{{ Index }}} == 多嘴多舌 == |
* ''["PP3eD/Ch-24-1"]'' Section 24.1. "That's the End of the Book, Now Here's the Meaning of Life" * ''["PP3eD/Ch-24-2"]'' Section 24.2. "Something's Wrong with the Way We Program Computers" * ''["PP3eD/Ch-24-3"]'' Section 24.3. The "Gilligan Factor" * ''["PP3eD/Ch-24-4"]'' Section 24.4. Doing the Right Thing * ''["PP3eD/Ch-24-5"]'' Section 24.5. Enter Python * ''["PP3eD/Ch-24-6"]'' Section 24.6. But What About That Bottleneck? * ''["PP3eD/Ch-24-7"]'' Section 24.7. On Sinking the Titanic * ''["PP3eD/Ch-24-8"]'' Section 24.8. So What's "Python: The Sequel"? * ''["PP3eD/Ch-24-9"]'' Section 24.9. In the Final Analysis . . . * ''["PP3eD/Ch-24-10"]'' Section 24.10. Postscript to the Second Edition (2000) * ''["PP3eD/Ch-24-11"]'' Section 24.11. Postscript to the Third Edition (2006) == About the Author == == Colophon == == Index == = 多嘴多舌 = |
Include(ObpRelating) 在邮件列表发起了此翻译工程,希望能够对使用Python进行编程应用有所帮助。书的内容很庞大,只有群策群力才行,请有兴趣参与的朋友把自己的名字注在相关章节的后面,并表明计划完成的日期,以认领章节,防止重复劳动。
- 欢迎志愿人员参加翻译,审核!
- 翻译仅仅是为了学习目的,其它商业版权纠纷与此无关!
- 建议使用模板 zhPyCookbookTemplate
Programming Python, 3rd Edition
2006/09/12 20:35 开始! By Mark Lutz
- Publisher : O'Reilly
- Pub Date : August 2006
- Print ISBN-10: 0-596-00925-9
- Print ISBN-13: 978-0-59-600925-0
- Pages : 1596
Copyright
Foreword
Preface
Part I: The Beginning
Chapter 1. Introducing Python
["PP3eD/Ch-1-1"] Section 1.1. "And Now for Something Completely Different"
["PP3eD/Ch-1-2"] Section 1.2. Python Philosophy 101
["PP3eD/Ch-1-3"] Section 1.3. The Life of Python
["PP3eD/Ch-1-4"] Section 1.4. Signs of the Python Times
["PP3eD/Ch-1-5"] Section 1.5. The Compulsory Features List
["PP3eD/Ch-1-6"] Section 1.6. What's Python Good For?
["PP3eD/Ch-1-7"] Section 1.7. What's Python Not Good For?
["PP3eD/Ch-1-8"] Section 1.8. Truth in Advertising
Chapter 2. A Sneak Preview
["PP3eD/Ch-2-1"] Section 2.1. "Programming Python: The Short Story"
["PP3eD/Ch-2-2"] Section 2.2. The Task
["PP3eD/Ch-2-3"] Section 2.3. Step 1: Representing Records
["PP3eD/Ch-2-4"] Section 2.4. Step 2: Storing Records Persistently
["PP3eD/Ch-2-5"] Section 2.5. Step 3: Stepping Up to OOP
["PP3eD/Ch-2-6"] Section 2.6. Step 4: Adding Console Interaction
["PP3eD/Ch-2-7"] Section 2.7. Step 5: Adding a GUI
["PP3eD/Ch-2-8"] Section 2.8. Step 6: Adding a Web Interface
["PP3eD/Ch-2-9"] Section 2.9. The End of the Demo
Part II: System Programming
Chapter 3. System Tools
["PP3eD/Ch-3-1"] Section 3.1. "The os.path to Knowledge"
["PP3eD/Ch-3-2"] Section 3.2. System Scripting Overview
["PP3eD/Ch-3-3"] Section 3.3. Introducing the sys Module
["PP3eD/Ch-3-4"] Section 3.4. Introducing the os Module
["PP3eD/Ch-3-5"] Section 3.5. Script Execution Context
["PP3eD/Ch-3-6"] Section 3.6. Current Working Directory
["PP3eD/Ch-3-7"] Section 3.7. Command-Line Arguments
["PP3eD/Ch-3-8"] Section 3.8. Shell Environment Variables
["PP3eD/Ch-3-9"] Section 3.9. Standard Streams
Chapter 4. File and Directory Tools
["PP3eD/Ch-4-1"] Section 4.1. "Erase Your Hard Drive in Five Easy Steps!"
["PP3eD/Ch-4-2"] Section 4.2. File Tools
["PP3eD/Ch-4-3"] Section 4.3. Directory Tools
Chapter 5. Parallel System Tools
["PP3eD/Ch-5-1"] Section 5.1. "Telling the Monkeys What to Do"
["PP3eD/Ch-5-2"] Section 5.2. Forking Processes
["PP3eD/Ch-5-3"] Section 5.3. Threads
["PP3eD/Ch-5-4"] Section 5.4. Program Exits
["PP3eD/Ch-5-5"] Section 5.5. Interprocess Communication
["PP3eD/Ch-5-6"] Section 5.6. Pipes
["PP3eD/Ch-5-7"] Section 5.7. Signals
["PP3eD/Ch-5-8"] Section 5.8. Other Ways to Start Programs
["PP3eD/Ch-5-9"] Section 5.9. A Portable Program-Launch Framework
["PP3eD/Ch-5-10"] Section 5.10. Other System Tools
Chapter 6. System Examples: Utilities
["PP3eD/Ch-6-1"] Section 6.1. "Splits and Joins and Alien Invasions"
["PP3eD/Ch-6-2"] Section 6.2. Splitting and Joining Files
["PP3eD/Ch-6-3"] Section 6.3. Generating Forward-Link Web Pages
["PP3eD/Ch-6-4"] Section 6.4. A Regression Test Script
["PP3eD/Ch-6-5"] Section 6.5. Packing and Unpacking Files
["PP3eD/Ch-6-6"] Section 6.6. Automated Program Launchers
Chapter 7. System Examples: Directories
["PP3eD/Ch-7-1"] Section 7.1. "The Greps of Wrath"
["PP3eD/Ch-7-2"] Section 7.2. Fixing DOS Line Ends
["PP3eD/Ch-7-3"] Section 7.3. Fixing DOS Filenames
["PP3eD/Ch-7-4"] Section 7.4. Searching Directory Trees
["PP3eD/Ch-7-5"] Section 7.5. Visitor: Walking Trees Generically
["PP3eD/Ch-7-6"] Section 7.6. Copying Directory Trees
["PP3eD/Ch-7-7"] Section 7.7. Deleting Directory Trees
["PP3eD/Ch-7-8"] Section 7.8. Comparing Directory Trees
Part III: GUI Programming
Chapter 8. Graphical User Interfaces
["PP3eD/Ch-8-1"] Section 8.1. "Here's Looking at You, Kid"
["PP3eD/Ch-8-2"] Section 8.2. Python GUI Development Options
["PP3eD/Ch-8-3"] Section 8.3. Tkinter Overview
["PP3eD/Ch-8-4"] Section 8.4. Climbing the GUI Learning Curve
["PP3eD/Ch-8-5"] Section 8.5. Tkinter Coding Basics
["PP3eD/Ch-8-6"] Section 8.6. Tkinter Coding Alternatives
["PP3eD/Ch-8-7"] Section 8.7. Adding Buttons and Callbacks
["PP3eD/Ch-8-8"] Section 8.8. Adding User-Defined Callback Handlers
["PP3eD/Ch-8-9"] Section 8.9. Adding Multiple Widgets
["PP3eD/Ch-8-10"] Section 8.10. Customizing Widgets with Classes
["PP3eD/Ch-8-11"] Section 8.11. Reusable GUI Components with Classes
["PP3eD/Ch-8-12"] Section 8.12. The End of the Tutorial
["PP3eD/Ch-8-13"] Section 8.13. Python/Tkinter for Tcl/Tk Converts
Chapter 9. A Tkinter Tour, Part 1
["PP3eD/Ch-9-1"] Section 9.1. "Widgets and Gadgets and GUIs, Oh My!"
["PP3eD/Ch-9-2"] Section 9.2. Configuring Widget Appearance
["PP3eD/Ch-9-3"] Section 9.3. Top-Level Windows
["PP3eD/Ch-9-4"] Section 9.4. Dialogs
["PP3eD/Ch-9-5"] Section 9.5. Binding Events
["PP3eD/Ch-9-6"] Section 9.6. Message and Entry
["PP3eD/Ch-9-7"] Section 9.7. Checkbutton, Radiobutton, and Scale
["PP3eD/Ch-9-8"] Section 9.8. Running GUI Code Three Ways
["PP3eD/Ch-9-9"] Section 9.9. Images
["PP3eD/Ch-9-10"] Section 9.10. Viewing and Processing Images with PIL
Chapter 10. A Tkinter Tour, Part 2
["PP3eD/Ch-10-1"] Section 10.1. "On Today's Menu: Spam, Spam, and Spam"
["PP3eD/Ch-10-2"] Section 10.2. Menus
["PP3eD/Ch-10-3"] Section 10.3. Listboxes and Scrollbars
["PP3eD/Ch-10-4"] Section 10.4. Text
["PP3eD/Ch-10-5"] Section 10.5. Canvas
["PP3eD/Ch-10-6"] Section 10.6. Grids
["PP3eD/Ch-10-7"] Section 10.7. Time Tools, Threads, and Animation
["PP3eD/Ch-10-8"] Section 10.8. The End of the Tour
["PP3eD/Ch-10-9"] Section 10.9. The PyDemos and PyGadgets Launchers
Chapter 11. GUI Coding Techniques
["PP3eD/Ch-11-1"] Section 11.1. "Building a Better Mouse Trap"
["PP3eD/Ch-11-2"] Section 11.2. GuiMixin: Common Tool Mixin Classes
["PP3eD/Ch-11-3"] Section 11.3. GuiMaker: Automating Menus and Toolbars
["PP3eD/Ch-11-4"] Section 11.4. ShellGui: GUIs for Command-Line Tools
["PP3eD/Ch-11-5"] Section 11.5. GuiStreams: Redirecting Streams to Widgets
["PP3eD/Ch-11-6"] Section 11.6. Reloading Callback Handlers Dynamically
["PP3eD/Ch-11-7"] Section 11.7. Wrapping Up Top-Level Window Interfaces
["PP3eD/Ch-11-8"] Section 11.8. GUIs, Threads, and Queues
["PP3eD/Ch-11-9"] Section 11.9. More Ways to Add GUIs to Non-GUI Code
Chapter 12. Complete GUI Programs
["PP3eD/Ch-12-1"] Section 12.1. "Python, Open Source, and Camaros"
["PP3eD/Ch-12-2"] Section 12.2. PyEdit: A Text Editor Program/Object
["PP3eD/Ch-12-3"] Section 12.3. PyPhoto: An Image Viewer and Resizer
["PP3eD/Ch-12-4"] Section 12.4. PyView: An Image and Notes Slideshow
["PP3eD/Ch-12-5"] Section 12.5. PyDraw: Painting and Moving Graphics
["PP3eD/Ch-12-6"] Section 12.6. PyClock: An Analog/Digital Clock Widget
["PP3eD/Ch-12-7"] Section 12.7. PyToe: A Tic-Tac-Toe Game Widget
["PP3eD/Ch-12-8"] Section 12.8. Where to Go from Here
Part IV: Internet Programming
=== Chapter 13. Network Scripting
["PP3eD/Ch-13-1"] Section 13.1. "Tune In, Log On, and Drop Out"
["PP3eD/Ch-13-2"] Section 13.2. Plumbing the Internet
["PP3eD/Ch-13-3"] Section 13.3. Socket Programming
["PP3eD/Ch-13-4"] Section 13.4. Handling Multiple Clients
["PP3eD/Ch-13-5"] Section 13.5. A Simple Python File Server
Chapter 14. Client-Side Scripting
["PP3eD/Ch-14-1"] Section 14.1. "Socket to Me!"
["PP3eD/Ch-14-2"] Section 14.2. FTP: Transferring Files over the Net
["PP3eD/Ch-14-3"] Section 14.3. Processing Internet Email
["PP3eD/Ch-14-4"] Section 14.4. POP: Fetching Email
["PP3eD/Ch-14-5"] Section 14.5. SMTP: Sending Email
["PP3eD/Ch-14-6"] Section 14.6. email: Parsing and Composing Mails
["PP3eD/Ch-14-7"] Section 14.7. pymail: A Console-Based Email Client
["PP3eD/Ch-14-8"] Section 14.8. The mailtools Utility Package
["PP3eD/Ch-14-9"] Section 14.9. NNTP: Accessing Newsgroups
["PP3eD/Ch-14-10"] Section 14.10. HTTP: Accessing Web Sites
["PP3eD/Ch-14-11"] Section 14.11. Module urllib Revisited
["PP3eD/Ch-14-12"] Section 14.12. Other Client-Side Scripting Options
Chapter 15. The PyMailGUI Client
["PP3eD/Ch-15-1"] Section 15.1. "Use the Source, Luke"
["PP3eD/Ch-15-2"] Section 15.2. A PyMailGUI Demo
["PP3eD/Ch-15-3"] Section 15.3. PyMailGUI Implementation
Chapter 16. Server-Side Scripting
["PP3eD/Ch-16-1"] Section 16.1. "Oh What a Tangled Web We Weave"
["PP3eD/Ch-16-2"] Section 16.2. What's a Server-Side CGI Script?
["PP3eD/Ch-16-3"] Section 16.3. Running Server-Side Examples
["PP3eD/Ch-16-4"] Section 16.4. Climbing the CGI Learning Curve
["PP3eD/Ch-16-5"] Section 16.5. Saving State Information in CGI Scripts
["PP3eD/Ch-16-6"] Section 16.6. The Hello World Selector
["PP3eD/Ch-16-7"] Section 16.7. Refactoring Code for Maintainability
["PP3eD/Ch-16-8"] Section 16.8. More on HTML and URL Escapes
["PP3eD/Ch-16-9"] Section 16.9. Transferring Files to Clients and Servers
Chapter 17. The PyMailCGI Server
["PP3eD/Ch-17-1"] Section 17.1. "Things to Do When Visiting Chicago"
["PP3eD/Ch-17-2"] Section 17.2. The PyMailCGI Web Site
["PP3eD/Ch-17-3"] Section 17.3. The Root Page
["PP3eD/Ch-17-4"] Section 17.4. Sending Mail by SMTP
["PP3eD/Ch-17-5"] Section 17.5. Reading POP Email
["PP3eD/Ch-17-6"] Section 17.6. Processing Fetched Mail
["PP3eD/Ch-17-7"] Section 17.7. Utility Modules
["PP3eD/Ch-17-8"] Section 17.8. CGI Script Trade-Offs
Chapter 18. Advanced Internet Topics
["PP3eD/Ch-18-1"] Section 18.1. "Surfing on the Shoulders of Giants"
["PP3eD/Ch-18-2"] Section 18.2. Zope: A Web Application Framework
["PP3eD/Ch-18-3"] Section 18.3. HTMLgen: Web Pages from Objects
["PP3eD/Ch-18-4"] Section 18.4. Jython: Python for Java
["PP3eD/Ch-18-5"] Section 18.5. Grail: A Python-Based Web Browser
["PP3eD/Ch-18-6"] Section 18.6. XML Processing Tools
["PP3eD/Ch-18-7"] Section 18.7. Windows Web Scripting Extensions
["PP3eD/Ch-18-8"] Section 18.8. Python Server Pages
["PP3eD/Ch-18-9"] Section 18.9. Rolling Your Own Servers in Python
["PP3eD/Ch-18-10"] Section 18.10. And Other Cool Stuff
Part V: Tools and Techniques
Chapter 19. Databases and Persistence
["PP3eD/Ch-19-1"] Section 19.1. "Give Me an Order of Persistence, but Hold the Pickles"
["PP3eD/Ch-19-2"] Section 19.2. Persistence Options in Python
["PP3eD/Ch-19-3"] Section 19.3. DBM Files
["PP3eD/Ch-19-4"] Section 19.4. Pickled Objects
["PP3eD/Ch-19-5"] Section 19.5. Shelve Files
["PP3eD/Ch-19-6"] Section 19.6. The ZODB Object-Oriented Database
["PP3eD/Ch-19-7"] Section 19.7. SQL Database Interfaces
["PP3eD/Ch-19-8"] Section 19.8. PyForm: A Persistent Object Viewer
Chapter 20. Data Structures
["PP3eD/Ch-20-1"] Section 20.1. "Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo"
["PP3eD/Ch-20-2"] Section 20.2. Implementing Stacks
["PP3eD/Ch-20-3"] Section 20.3. Implementing Sets
["PP3eD/Ch-20-4"] Section 20.4. Subclassing Built-In Types
["PP3eD/Ch-20-5"] Section 20.5. Binary Search Trees
["PP3eD/Ch-20-6"] Section 20.6. Graph Searching
["PP3eD/Ch-20-7"] Section 20.7. Reversing Sequences
["PP3eD/Ch-20-8"] Section 20.8. Permuting Sequences
["PP3eD/Ch-20-9"] Section 20.9. Sorting Sequences
["PP3eD/Ch-20-10"] Section 20.10. Data Structures Versus Python Built-Ins
["PP3eD/Ch-20-11"] Section 20.11. PyTree: A Generic Tree Object Viewer
Chapter 21. Text and Language
["PP3eD/Ch-21-1"] Section 21.1. "See Jack Hack. Hack, Jack, Hack"
["PP3eD/Ch-21-2"] Section 21.2. Strategies for Parsing Text in Python
["PP3eD/Ch-21-3"] Section 21.3. String Method Utilities
["PP3eD/Ch-21-4"] Section 21.4. Regular Expression Pattern Matching
["PP3eD/Ch-21-5"] Section 21.5. Advanced Language Tools
["PP3eD/Ch-21-6"] Section 21.6. Handcoded Parsers
["PP3eD/Ch-21-7"] Section 21.7. PyCalc: A Calculator Program/Object
Part VI: Integration
Chapter 22. Extending Python
["PP3eD/Ch-22-1"] Section 22.1. "I Am Lost at C"
["PP3eD/Ch-22-2"] Section 22.2. Integration Modes
["PP3eD/Ch-22-3"] Section 22.3. C Extensions Overview
["PP3eD/Ch-22-4"] Section 22.4. A Simple C Extension Module
["PP3eD/Ch-22-5"] Section 22.5. Extension Module Details
["PP3eD/Ch-22-6"] Section 22.6. The SWIG Integration Code Generator
["PP3eD/Ch-22-7"] Section 22.7. Wrapping C Environment Calls
["PP3eD/Ch-22-8"] Section 22.8. A C Extension Module String Stack
["PP3eD/Ch-22-9"] Section 22.9. A C Extension Type String Stack
["PP3eD/Ch-22-10"] Section 22.10. Wrapping C++ Classes with SWIG
["PP3eD/Ch-22-11"] Section 22.11. Other Extending Tools
Chapter 23. Embedding Python
["PP3eD/Ch-23-1"] Section 23.1. "Add Python. Mix Well. Repeat."
["PP3eD/Ch-23-2"] Section 23.2. C Embedding API Overview
["PP3eD/Ch-23-3"] Section 23.3. Basic Embedding Techniques
["PP3eD/Ch-23-4"] Section 23.4. Registering Callback Handler Objects
["PP3eD/Ch-23-5"] Section 23.5. Using Python Classes in C
["PP3eD/Ch-23-6"] Section 23.6. A High-Level Embedding API: ppembed
["PP3eD/Ch-23-7"] Section 23.7. Other Integration Topics
Part VIII: The End
Chapter 24. Conclusion: Python and the Development Cycle
["PP3eD/Ch-24-1"] Section 24.1. "That's the End of the Book, Now Here's the Meaning of Life"
["PP3eD/Ch-24-2"] Section 24.2. "Something's Wrong with the Way We Program Computers"
["PP3eD/Ch-24-3"] Section 24.3. The "Gilligan Factor"
["PP3eD/Ch-24-4"] Section 24.4. Doing the Right Thing
["PP3eD/Ch-24-5"] Section 24.5. Enter Python
["PP3eD/Ch-24-6"] Section 24.6. But What About That Bottleneck?
["PP3eD/Ch-24-7"] Section 24.7. On Sinking the Titanic
["PP3eD/Ch-24-8"] Section 24.8. So What's "Python: The Sequel"?
["PP3eD/Ch-24-9"] Section 24.9. In the Final Analysis . . .
["PP3eD/Ch-24-10"] Section 24.10. Postscript to the Second Edition (2000)
["PP3eD/Ch-24-11"] Section 24.11. Postscript to the Third Edition (2006)
About the Author
Colophon
Index