Python Cookbook 2Nd Edition Jun 1002005 [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Python Cookbook 2Nd Edition Jun 1002005 [Electronic resources] - نسخه متنی

David Ascher, Alex Martelli, Anna Ravenscroft

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










  • Sitemap

    Table of Contents

    Copyright

    Preface

    The Design of the Book

    The Implementation of the Book

    Using the Code from This Book

    Audience

    Organization

    Further Reading

    Conventions Used in This Book

    How to Contact Us

    Safari® Enabled

    Acknowledgments

    Chapter 1. Text

    Introduction

    Recipe 1.1. Processing a String One Character at a Time

    Recipe 1.2. Converting Between Characters and Numeric Codes

    Recipe 1.3. Testing Whether an Object Is String-like

    Recipe 1.4. Aligning Strings

    Recipe 1.5. Trimming Space from the Ends of a String

    Recipe 1.6. Combining Strings

    Recipe 1.7. Reversing a String by Words or Characters

    Recipe 1.8. Checking Whether a String Contains a Set of Characters

    Recipe 1.9. Simplifying Usage of Strings'' translate Method

    Recipe 1.10. Filtering a String for a Set of Characters

    Recipe 1.11. Checking Whether a String Is Text or Binary

    Recipe 1.12. Controlling Case

    Recipe 1.13. Accessing Substrings

    Recipe 1.14. Changing the Indentation of a Multiline String

    Recipe 1.15. Expanding and Compressing Tabs

    Recipe 1.16. Interpolating Variables in a String

    Recipe 1.17. Interpolating Variables in a Stringin Python 2.4

    Recipe 1.18. Replacing Multiple Patterns in a Single Pass

    Recipe 1.19. Checking a String for Any of Multiple Endings

    Recipe 1.20. Handling International Text with Unicode

    Recipe 1.21. Converting Between Unicode and Plain Strings

    Recipe 1.22. Printing Unicode Charactersto Standard Output

    Recipe 1.23. Encoding Unicode Data for XML and HTML

    Recipe 1.24. Making Some Strings Case-Insensitive

    Recipe 1.25. Converting HTML Documents to Texton a Unix Terminal

    Chapter 2. Files

    Introduction

    Recipe 2.1. Reading from a File

    Recipe 2.2. Writing to a File

    Recipe 2.3. Searching and Replacing Text in a File

    Recipe 2.4. Reading a Specific Line from a File

    Recipe 2.5. Counting Lines in a File

    Recipe 2.6. Processing Every Word in a File

    Recipe 2.7. Using Random-Access Input/Output

    Recipe 2.8. Updating a Random-Access File

    Recipe 2.9. Reading Data from zip Files

    Recipe 2.10. Handling a zip File Inside a String

    Recipe 2.11. Archiving a Tree of Files into a Compressed tar File

    Recipe 2.12. Sending Binary Data to Standard Output Under Windows

    Recipe 2.13. Using a C++-like iostream Syntax

    Recipe 2.14. Rewinding an Input File to the Beginning

    Recipe 2.15. Adapting a File-like Object to a True File Object

    Recipe 2.16. Walking Directory Trees

    Recipe 2.17. Swapping One File Extension for Another Throughout a Directory Tree

    Recipe 2.18. Finding a File Given a Search Path

    Recipe 2.19. Finding Files Given a Search Path and a Pattern

    Recipe 2.20. Finding a File on the Python Search Path

    Recipe 2.21. Dynamically Changing the PythonSearch Path

    Recipe 2.22. Computing the Relative Path from One Directory to Another

    Recipe 2.23. Reading an Unbuffered Character in a Cross-Platform Way

    Recipe 2.24. Counting Pages of PDF Documents on Mac OS X

    Recipe 2.25. Changing File Attributes on Windows

    Recipe 2.26. Extracting Text from OpenOffice.org Documents

    Recipe 2.27. Extracting Text from Microsoft Word Documents

    Recipe 2.28. File Locking Using a Cross-Platform API

    Recipe 2.29. Versioning Filenames

    Recipe 2.30. Calculating CRC-64 Cyclic Redundancy Checks

    Chapter 3. Time and Money

    Introduction

    Recipe 3.1. Calculating Yesterday and Tomorrow

    Recipe 3.2. Finding Last Friday

    Recipe 3.3. Calculating Time Periods in a Date Range

    Recipe 3.4. Summing Durations of Songs

    Recipe 3.5. Calculating the Number of Weekdays Between Two Dates

    Recipe 3.6. Looking up Holidays Automatically

    Recipe 3.7. Fuzzy Parsing of Dates

    Recipe 3.8. Checking Whether Daylight Saving Time Is Currently in Effect

    Recipe 3.9. Converting Time Zones

    Recipe 3.10. Running a Command Repeatedly

    Recipe 3.11. Scheduling Commands

    Recipe 3.12. Doing Decimal Arithmetic

    Recipe 3.13. Formatting Decimals as Currency

    Recipe 3.14. Using Python as a Simple Adding Machine

    Recipe 3.15. Checking a Credit Card Checksum

    Recipe 3.16. Watching Foreign Exchange Rates

    Chapter 4. Python Shortcuts

    Introduction

    Recipe 4.1. Copying an Object

    Recipe 4.2. Constructing Lists with List Comprehensions

    Recipe 4.3. Returning an Element of a List If It Exists

    Recipe 4.4. Looping over Items and Their Indices in a Sequence

    Recipe 4.5. Creating Lists of Lists Without Sharing References

    Recipe 4.6. Flattening a Nested Sequence

    Recipe 4.7. Removing or Reordering Columnsin a List of Rows

    Recipe 4.8. Transposing Two-Dimensional Arrays

    Recipe 4.9. Getting a Value from a Dictionary

    Recipe 4.10. Adding an Entry to a Dictionary

    Recipe 4.11. Building a Dictionary Without Excessive Quoting

    Recipe 4.12. Building a Dict from a List of Alternating Keys and Values

    Recipe 4.13. Extracting a Subset of a Dictionary

    Recipe 4.14. Inverting a Dictionary

    Recipe 4.15. Associating Multiple Values with Each Key in a Dictionary

    Recipe 4.16. Using a Dictionary to Dispatch Methods or Functions

    Recipe 4.17. Finding Unions and Intersections of Dictionaries

    Recipe 4.18. Collecting a Bunch of Named Items

    Recipe 4.19. Assigning and Testing with One Statement

    Recipe 4.20. Using printf in Python

    Recipe 4.21. Randomly Picking Items with Given Probabilities

    Recipe 4.22. Handling Exceptions Within an Expression

    Recipe 4.23. Ensuring a Name Is Defined in a Given Module

    Chapter 5. Searching and Sorting

    Introduction

    Recipe 5.1. Sorting a Dictionary

    Recipe 5.2. Sorting a List of Strings Case-Insensitively

    Recipe 5.3. Sorting a List of Objects by an Attribute of the Objects

    Recipe 5.4. Sorting Keys or Indices Basedon the Corresponding Values

    Recipe 5.5. Sorting Strings with Embedded Numbers

    Recipe 5.6. Processing All of a List''s Items in Random Order

    Recipe 5.7. Keeping a Sequence Ordered as Items Are Added

    Recipe 5.8. Getting the First Few Smallest Items of a Sequence

    Recipe 5.9. Looking for Items in a Sorted Sequence

    Recipe 5.10. Selecting the nth Smallest Element of a Sequence

    Recipe 5.11. Showing off quicksort in Three Lines

    Recipe 5.12. Performing Frequent Membership Tests on a Sequence

    Recipe 5.13. Finding Subsequences

    Recipe 5.14. Enriching the Dictionary Type with Ratings Functionality

    Recipe 5.15. Sorting Names and Separating Them by Initials

    Chapter 6. Object-Oriented Programming

    Introduction

    Recipe 6.1. Converting Among Temperature Scales

    Recipe 6.2. Defining Constants

    Recipe 6.3. Restricting Attribute Setting

    Recipe 6.4. Chaining Dictionary Lookups

    Recipe 6.5. Delegating Automatically as an Alternative to Inheritance

    Recipe 6.6. Delegating Special Methods in Proxies

    Recipe 6.7. Implementing Tuples with Named Items

    Recipe 6.8. Avoiding Boilerplate Accessors for Properties

    Recipe 6.9. Making a Fast Copy of an Object

    Recipe 6.10. Keeping References to Bound Methods Without Inhibiting Garbage Collection

    Recipe 6.11. Implementing a Ring Buffer

    Recipe 6.12. Checking an Instance for Any State Changes

    Recipe 6.13. Checking Whether an Object Has Necessary Attributes

    Recipe 6.14. Implementing the State Design Pattern

    Recipe 6.15. Implementing the

    Recipe 6.16. Avoiding the

    Recipe 6.17. Implementing the Null Object Design Pattern

    Recipe 6.18. Automatically Initializing Instance Variables from _ _init_ _ Arguments

    Recipe 6.19. Calling a Superclass _ _init_ _ Method If It Exists

    Recipe 6.20. Using Cooperative Supercalls Concisely and Safely

    Chapter 7. Persistence and Databases

    Introduction

    Recipe 7.1. Serializing Data Using the marshal Module

    Recipe 7.2. Serializing Data Using the pickle and cPickle Modules

    Recipe 7.3. Using Compression with Pickling

    Recipe 7.4. Using the cPickle Module on Classes and Instances

    Recipe 7.5. Holding Bound Methods in a Picklable Way

    Recipe 7.6. Pickling Code Objects

    Recipe 7.7. Mutating Objects with shelve

    Recipe 7.8. Using the Berkeley DB Database

    Recipe 7.9. Accesssing a MySQL Database

    Recipe 7.10. Storing a BLOB in a MySQL Database

    Recipe 7.11. Storing a BLOB in a PostgreSQL Database

    Recipe 7.12. Storing a BLOB in a SQLite Database

    Recipe 7.13. Generating a Dictionary Mapping Field Names to Column Numbers

    Recipe 7.14. Using dtuple for Flexible Accessto Query Results

    Recipe 7.15. Pretty-Printing the Contents of Database Cursors

    Recipe 7.16. Using a Single Parameter-Passing Style Across Various DB API Modules

    Recipe 7.16. Using a Single Parameter-Passing Style Across Various DB API Modules

    Recipe 7.17. Using Microsoft Jet via ADO

    Recipe 7.18. Accessing a JDBC Database from a Jython Servlet

    Recipe 7.19. Using ODBC to Get Excel Data with Jython

    Chapter 8. Debugging and Testing

    Introduction

    Recipe 8.1. Disabling Execution of Some Conditionals and Loops

    Recipe 8.2. Measuring Memory Usage on Linux

    Recipe 8.3. Debugging the Garbage-Collection Process

    Recipe 8.4. Trapping and Recording Exceptions

    Recipe 8.5. Tracing Expressions and Comments in Debug Mode

    Recipe 8.6. Getting More Information from Tracebacks

    Recipe 8.7. Starting the Debugger Automatically After an Uncaught Exception

    Recipe 8.8. Running Unit Tests Most Simply

    Recipe 8.9. Running Unit Tests Automatically

    Recipe 8.10. Using doctest with unittest in Python 2.4

    Recipe 8.11. Checking Values Against Intervals in Unit Testing

    Chapter 9. Processes, Threads, and Synchronization

    Introduction

    Recipe 9.1. Synchronizing All Methods in an Object

    Recipe 9.2. Terminating a Thread

    Recipe 9.3. Using a Queue.Queue as a Priority Queue

    Recipe 9.4. Working with a Thread Pool

    Recipe 9.5. Executing a Function in Parallel on Multiple Argument Sets

    Recipe 9.6. Coordinating Threads by Simple Message Passing

    Recipe 9.7. Storing Per-Thread Information

    Recipe 9.8. Multitasking Cooperatively Without Threads

    Recipe 9.9. Determining Whether Another Instanceof a Script Is Already Running in Windows

    Recipe 9.10. Processing Windows Messages Using MsgWaitForMultipleObjects

    Recipe 9.11. Driving an External Process with popen

    Recipe 9.12. Capturing the Output and Error Streams from a Unix Shell Command

    Recipe 9.13. Forking a Daemon Process on Unix

    Chapter 10. System Administration

    Introduction

    Recipe 10.1. Generating Random Passwords

    Recipe 10.2. Generating Easily Remembered Somewhat-Random Passwords

    Recipe 10.3. Authenticating Users by Means of a POP Server

    Recipe 10.4. Calculating Apache Hits per IP Address

    Recipe 10.5. Calculating the Rate of Client Cache Hits on Apache

    Recipe 10.6. Spawning an Editor from a Script

    Recipe 10.7. Backing Up Files

    Recipe 10.8. Selectively Copying a Mailbox File

    Recipe 10.9. Building a Whitelist of Email Addresses From a Mailbox

    Recipe 10.10. Blocking Duplicate Mails

    Recipe 10.11. Checking Your Windows Sound System

    Recipe 10.12. Registering or Unregistering a DLL on Windows

    Recipe 10.13. Checking and Modifying the Set of Tasks Windows Automatically Runs at Login

    Recipe 10.14. Creating a Share on Windows

    Recipe 10.15. Connecting to an Already Running Instance of Internet Explorer

    Recipe 10.16. Reading Microsoft Outlook Contacts

    Recipe 10.17. Gathering Detailed System Informationon Mac OS X

    Chapter 11. User Interfaces

    Introduction

    Recipe 11.1. Showing a Progress Indicator on a Text Console

    Recipe 11.2. Avoiding lambda in Writing Callback Functions

    Recipe 11.3. Using Default Values and Bounds with tkSimpleDialog Functions

    Recipe 11.4. Adding Drag and Drop Reordering to a Tkinter Listbox

    Recipe 11.5. Entering Accented Characters in Tkinter Widgets

    Recipe 11.6. Embedding Inline GIFs Using Tkinter

    Recipe 11.7. Converting Among Image Formats

    Recipe 11.8. Implementing a Stopwatch in Tkinter

    Recipe 11.9. Combining GUIs and Asynchronous I/Owith Threads

    Recipe 11.10. Using IDLE''s Tree Widget in Tkinter

    Recipe 11.11. Supporting Multiple Values per Row in a Tkinter Listbox

    Recipe 11.12. Copying Geometry Methods and Options Between Tkinter Widgets

    Recipe 11.13. Implementing a Tabbed Notebook for Tkinter

    Recipe 11.14. Using a wxPython Notebook with Panels

    Recipe 11.15. Implementing an ImageJ Plug-in in Jython

    Recipe 11.16. Viewing an Image from a URL with Swing and Jython

    Recipe 11.17. Getting User Input on Mac OS

    Recipe 11.18. Building a Python Cocoa GUI Programmatically

    Recipe 11.19. Implementing Fade-in Windows with IronPython

    Chapter 12. Processing XML

    Introduction

    Recipe 12.1. Checking XML Well-Formedness

    Recipe 12.2. Counting Tags in a Document

    Recipe 12.3. Extracting Text from an XML Document

    Recipe 12.4. Autodetecting XML Encoding

    Recipe 12.5. Converting an XML Document into a Tree of Python Objects

    Recipe 12.6. Removing Whitespace-only Text Nodes from an XML DOM Node''s Subtree

    Recipe 12.7. Parsing Microsoft Excel''s XML

    Recipe 12.8. Validating XML Documents

    Recipe 12.9. Filtering Elements and Attributes Belonging to a Given Namespace

    Recipe 12.10. Merging Continuous Text Events with a SAX Filter

    Recipe 12.11. Using MSHTML to Parse XML or HTML

    Chapter 13. Network Programming

    Introduction

    Recipe 13.1. Passing Messages with Socket Datagrams

    Recipe 13.2. Grabbing a Document from the Web

    Recipe 13.3. Filtering a List of FTP Sites

    Recipe 13.4. Getting Time from a Server via the SNTP Protocol

    Recipe 13.5. Sending HTML Mail

    Recipe 13.6. Bundling Files in a MIME Message

    Recipe 13.7. Unpacking a Multipart MIME Message

    Recipe 13.8. Removing Attachments from an Email Message

    Recipe 13.9. Fixing Messages Parsed by Python 2.4 email.FeedParser

    Recipe 13.10. Inspecting a POP3 Mailbox Interactively

    Recipe 13.11. Detecting Inactive Computers

    Recipe 13.12. Monitoring a Network with HTTP

    Recipe 13.13. Forwarding and Redirecting Network Ports

    Recipe 13.14. Tunneling SSL Through a Proxy

    Recipe 13.15. Implementing the Dynamic IP Protocol

    Recipe 13.16. Connecting to IRC and Logging Messages to Disk

    Recipe 13.17. Accessing LDAP Servers

    Chapter 14. Web Programming

    Introduction

    Recipe 14.1. Testing Whether CGI Is Working

    Recipe 14.2. Handling URLs Within a CGI Script

    Recipe 14.3. Uploading Files with CGI

    Recipe 14.4. Checking for a Web Page''s Existence

    Recipe 14.5. Checking Content Type via HTTP

    Recipe 14.6. Resuming the HTTP Download of a File

    Recipe 14.7. Handling Cookies While Fetching Web Pages

    Recipe 14.8. Authenticating with a Proxy for HTTPS Navigation

    Recipe 14.9. Running a Servlet with Jython

    Recipe 14.10. Finding an Internet Explorer Cookie

    Recipe 14.11. Generating OPML Files

    Recipe 14.12. Aggregating RSS Feeds

    Recipe 14.13. Turning Data into Web Pages Through Templates

    Recipe 14.14. Rendering Arbitrary Objects with Nevow

    Chapter 15. Distributed Programming

    Introduction

    Recipe 15.1. Making an XML-RPC Method Call

    Recipe 15.2. Serving XML-RPC Requests

    Recipe 15.3. Using XML-RPC with Medusa

    Recipe 15.4. Enabling an XML-RPC Server to Be Terminated Remotely

    Recipe 15.5. Implementing SimpleXMLRPCServer Niceties

    Recipe 15.6. Giving an XML-RPC Server a wxPython GUI

    Recipe 15.7. Using Twisted Perspective Broker

    Recipe 15.8. Implementing a CORBA Server and Client

    Recipe 15.9. Performing Remote Logins Using telnetlib

    Recipe 15.10. Performing Remote Logins with SSH

    Recipe 15.11. Authenticating an SSL Client over HTTPS

    Chapter 16. Programs About Programs

    Introduction

    Recipe 16.1. Verifying Whether a String Represents a Valid Number

    Recipe 16.2. Importing a Dynamically Generated Module

    Recipe 16.3. Importing from a Module Whose Name Is Determined at Runtime

    Recipe 16.4. Associating Parameters with a Function (Currying)

    Recipe 16.4. Associating Parameters with a Function (Currying)

    Recipe 16.5. Composing Functions

    Recipe 16.6. Colorizing Python Source Using the Built-in Tokenizer

  • / 394