Text Processing in Python
暫譯: Python 文本處理

David Mertz

  • 出版商: Addison Wesley
  • 出版日期: 2003-06-02
  • 售價: $2,200
  • 貴賓價: 9.5$2,090
  • 語言: 英文
  • 頁數: 544
  • 裝訂: Paperback
  • ISBN: 0321112547
  • ISBN-13: 9780321112545
  • 相關分類: Python程式語言
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

相關主題

商品描述

Table of Contents

Preface.

What Is Text Processing?
The Philosophy of Text Processing.
What You'll Need to Use This Book.
Conventions Used in This Book.
A Word on Source Code Examples.
External Resources.


1. Python Basics.

Techniques and Patterns.
Utilizing Higher-Order Functions in Text Processing.
Exercise: More on combinatorial functions.
Specializing Python Datatypes.
Base Classes for Datatypes.
Exercise: Filling out the forms (or deciding not to)
Problem: Working with lines from a large file.

Standard Modules.
Working with the Python Interpreter.
Working with the Local Filesystem.
Running External Commands and Accessing OS Features.
Special Data Values and Formats.

Other Modules in the Standard Library.
Serializing and Storing Python Objects.
Platform Specific Operations.
Working with Multi-Media Formats.
Miscellaneous Other Modules.


2. Basic String Operations.

Some Common Tasks.
Problem: Quickly sorting lines on custom criteria.
Problem: Reformatting paragraphs of text.
Problem: Column statistics for delimited or flat-record files.
Problem: Counting characters, words, lines and paragraphs.
Problem: Transmit binary data as ASCII.
Problem: Creating word or letter histograms.
Problem: Reading a file backwards by record, line, or paragraph.

Standard Modules.
Basic String Transformations.
Strings as Files, and Files as Strings.
Converting Between Binary and ASCII.
Cryptography.
Compression.
Unicode.

Solving Problems.
Exercise: Many ways to take out the garbage.
Exercise: Making sure things are what they should be
Exercise: Finding needles in haystacks (full-text indexing).


3. Regular Expressions.

A Regular Expression Tutorial.
Just What is a Regular Expression Anyway?
Matching Patterns In Text: The Basics.
Matching Patterns In Text: Intermediate.
Advanced Regular Expression Extensions.

Some Common Tasks.
Problem: Making a text block flush left.
Problem: Summarizing command-line option documentation.
Problem: Detecting duplicate words.
Problem: Checking for server errors.
Problem: Reading lines with continuation characters
Problem: Identifying URLs and email addresses in texts.
Problem: Pretty printing numbers.

Standard Modules.
Versions and optimizations.
Simple Pattern Matching.
Regular Expression Modules.


4. Parsers and State Machines.

An Introduction to Parsers.
When data becomes deep and texts become stateful.
What is a grammar?
An EBNF grammar for IF/THEN/END structures.
Pencil-and-Paper Parsing.
Exercise: Some variations on the language.

An Introduction to State Machines.
Understanding State Machines.
Text Processing State Machines.
When Not To Use A State Machine.
When to Use a State Machine.
An Abstract State Machine Class.
Processing a Report with a Concrete State Machine.
Subgraphs and State Reuse.
Exercise: Finding other solutions.

Parser Libraries for Python.
Specialized Parsers in the Standard Library.
Low-Level State Machine Parsing.
High-Level EBNF Parsing.
High-Level Programmatic Parsing.


5. Internet Tools and Techniques.

Working With Email and Newsgroups.
Manipulating and Creating Message Texts.
Communicating with Mail Servers.
Message Collections and Message Parts.

World Wide Web Applications.
Common Gateway Interface.
Parsing, Creating, and Manipulating HTML Documents.
Accessing Internet Resources.

Synopses of Other Internet Modules.
Standard Internet-Related Tools.
Third Party Internet-Related Tools.

Understanding XML.
Python Standard Library XML Modules.
Third Party XML-Related Tools


A. A Selective and Impressionistic Short Review of Python.
B. A Data Compression Primer.
C. Understanding Unicode.
D. A State-Machine for Adding Markup to Text.
E. Glossary.

>D. A State-Machine for Adding Markup to Text.
E. Glossary.

商品描述(中文翻譯)

目錄

前言
什麼是文本處理?
文本處理的哲學。
使用本書所需的條件。
本書中使用的約定。
關於源代碼示例的一句話。
外部資源。

1. Python 基礎
技術與模式。
利用高階函數進行文本處理。
練習:更多關於組合函數的內容。
專門化 Python 數據類型。
數據類型的基類。
練習:填寫表單(或決定不填寫)。
問題:處理大型文件中的行。

標準模組。
使用 Python 解釋器。
與本地文件系統的互動。
運行外部命令和訪問操作系統功能。
特殊數據值和格式。

標準庫中的其他模組。
序列化和存儲 Python 對象。
平台特定操作。
處理多媒體格式。
其他雜項模組。

2. 基本字符串操作
一些常見任務。
問題:根據自定義標準快速排序行。
問題:重新格式化文本段落。
問題:分隔或平面記錄文件的列統計。
問題:計算字符、單詞、行和段落數。
問題:以 ASCII 格式傳輸二進制數據。
問題:創建單詞或字母直方圖。
問題:按記錄、行或段落反向讀取文件。

標準模組。
基本字符串轉換。
字符串作為文件,文件作為字符串。
在二進制和 ASCII 之間轉換。
密碼學。
壓縮。
Unicode。

解決問題。
練習:多種方式清理垃圾。
練習:確保事物符合預期。
練習:在大海撈針(全文索引)中尋找針。

3. 正則表達式
正則表達式教程。
正則表達式到底是什麼?
文本中的模式匹配:基礎。
文本中的模式匹配:中級。
高級正則表達式擴展。

一些常見任務。
問題:使文本塊左對齊。
問題:總結命令行選項文檔。
問題:檢測重複單詞。
問題:檢查伺服器錯誤。
問題:讀取帶有續行符的行。
問題:識別文本中的 URL 和電子郵件地址。
問題:美化數字輸出。

標準模組。
版本和優化。
簡單模式匹配。
正則表達式模組。

4. 解析器和狀態機
解析器介紹。
當數據變得深奧,文本變得有狀態時。
什麼是語法?
IF/THEN/END 結構的 EBNF 語法。
鉛筆和紙的解析。
練習:語言的一些變體。

狀態機介紹。
理解狀態機。
文本處理狀態機。
何時不使用狀態機。
何時使用狀態機。
抽象狀態機類。
使用具體狀態機處理報告。
子圖和狀態重用。
練習:尋找其他解決方案。

Python 的解析器庫。
標準庫中的專用解析器。
低級狀態機解析。
高級 EBNF 解析。
高級程式化解析。

5. 網際網路工具和技術
與電子郵件和新聞組的互動。
操作和創建消息文本。
與郵件伺服器通信。
消息集合和消息部分。

全球資訊網應用。
通用閘道介面。
解析、創建和操作 HTML 文檔。
訪問互聯網資源。

其他網際網路模組的概要。
標準的網際網路相關工具。
第三方網際網路相關工具。

理解 XML。
Python 標準庫 XML 模組。
第三方 XML 相關工具。

附錄 A. Python 的選擇性和印象派簡短回顧。
附錄 B. 數據壓縮入門。
附錄 C. 理解 Unicode。
附錄 D. 用於向文本添加標記的狀態機。
附錄 E. 詞彙表。