2009-08-15 32 views
24

Tôi đang cố gắng sử dụng thư viện Python được viết bằng C không có tài liệu nào thuộc loại nào. Tôi muốn sử dụng nội tâm để ít nhất là xem những gì các phương pháp và các lớp học trong các mô-đun. Có ai đó có một chức năng hoặc thư viện tôi có thể sử dụng để liệt kê các hàm (với các danh sách đối số) và các lớp (với các phương thức và các biến thành viên) trong một mô-đun không?Làm cách nào để liệt kê các phương thức trong mô-đun Python 2.5?

Tôi đã tìm thấy this article về vấn đề nội tâm của Python, nhưng tôi khá chắc chắn nó không áp dụng cho Python 2.5. Cảm ơn đã giúp đỡ.

Trả lời

51

Dưới đây là một số điều bạn có thể làm ít nhất:

import module 

print dir(module) # Find functions of interest. 

# For each function of interest: 
help(module.interesting_function) 
print module.interesting_function.func_defaults 
4

Hàm dir() hiển thị tất cả các thành viên mà một mô-đun có.

5

Chỉ cần này là khá tốt quá:

import module 
help(module) 

Nó sẽ in docstring cho các mô-đun, sau đó liệt kê các nội dung của mô-đun, in tài liệu của họ quá.

+0

Tôi không thể tìm thấy bất kỳ cách nào khác để nhận nội dung trợ giúp, đặc biệt là "NỘI DUNG GÓI" là những gì tôi đang tìm kiếm. Đây là trong văn bản trợ giúp, nhưng không có câu trả lời nào khác cung cấp một cách để có được thuật toán đó. – AlanSE

+0

ah, tìm thấy nó bên trong mã nguồn cho https://github.com/python/cpython/blob/ac317700ce7439e38a8b420218d9a5035bba92ed/Lib/pydoc.py#L733 này, với mẫu của 'cho nhà nhập khẩu, tên mod, ispkg trong pkgutil.iter_modules (đối tượng .__ path __): ' – AlanSE

12

Đánh dấu Pilgrim's chapter 4, bạn đề cập đến, thực sự áp dụng tốt cho Python 2.5 (và bất kỳ phiên bản 2.* gần đây nào khác, nhờ khả năng tương thích ngược). Đánh dấu không đề cập đến help, nhưng tôi thấy các câu trả lời khác thực hiện.

Một bit quan trọng mà không ai (bao gồm cả Mark ;-) dường như đã đề cập là inspect, một mô-đun tuyệt vời trong thư viện chuẩn của Python thực sự giúp với nội tâm nâng cao.

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