2009-03-24 29 views
8

Tôi muốn học một ngôn ngữ thao tác văn bản và tôi đã đánh số bằng Python. Ngoài thao tác văn bản Python cũng được sử dụng cho các ứng dụng số, máy học, AI, v.v.Thao tác bằng Python và văn bản

Câu hỏi của tôi là cách tiếp cận việc học ngôn ngữ Python để tôi có thể viết các tiện ích thao tác văn bản tinh vi. Ngoài các biểu thức chính quy trong ngữ cảnh "thao tác văn bản", các tính năng ngôn ngữ quan trọng hơn những tính năng khác của mô-đun là hữu ích và vân vân.

Trả lời

19

Ngoài biểu thức thông thường đây là một số tính năng quan trọng:

  • Máy phát điện, xem Generator Tricks for Systems Programmers David Beazley cho rất nhiều ví dụ tuyệt vời để đường ống một lượng không giới hạn của văn bản thông qua máy phát điện.

Đối với các công cụ, tôi khuyên bạn nên nhìn vào những điều sau đây:

  • Whoosh, một công cụ tìm kiếm Python tinh khiết mà sẽ cung cấp cho bạn một số ví dụ thực tế đời sống tốt đẹp của phân tích văn bản sử dụng pyparsing và xử lý văn bản trong Python trong chung.

  • Ned Batcheldor's nice reviews of various Python parsing tools.

  • mxTextTools

  • Docutils mã nguồn cho xử lý văn bản tiên tiến hơn bằng Python, trong đó có một máy nhà nước phức tạp.

Edit: A liên kết tốt cụ thể để xử lý văn bản trong Python:

  • Text Processing in Python David Mertz. Tôi nghĩ rằng cuốn sách vẫn có sẵn, mặc dù nó có thể là một chút ngày nay.
+1

Máy phát điện đẹp ở đó. –

2

Tôi đã tìm thấy đối tượng .__ doc__ và dir (obj) lệnh vô cùng hữu ích trong việc học ngôn ngữ.

ví dụ:

a = "test,test,test" 

Tôi có thể làm gì với? dir (a). Dường như tôi có thể chia một.

vec = a.split (",") 

Vec là gì? vec .__ doc__:

"danh sách mới được khởi tạo từ các mục của chuỗi"

Tôi có thể làm gì với vec? dir (vec).

vec.sort() 

vv ...

4

Có một cuốn sách Text Processing in Python. Tôi chưa đọc nó nhưng tôi đã đọc các bài viết khác của tác giả này và nói chung họ là một nhân viên giỏi.

+0

+1 cho điều đó, tuyệt vời đọc và chắc chắn sẽ hỗ trợ bất cứ ai. –

Các vấn đề liên quan