pyclbr --- Hỗ trợ trình duyệt mô-đun Python¶
Source code: Lib/pyclbr.py
Mô-đun pyclbr cung cấp thông tin hạn chế về các hàm, lớp và phương thức được xác định trong mô-đun được mã hóa Python. Thông tin đủ để triển khai trình duyệt mô-đun. Thông tin được trích xuất từ mã nguồn Python thay vì nhập mô-đun, vì vậy mô-đun này an toàn khi sử dụng với mã không đáng tin cậy. Hạn chế này khiến không thể sử dụng mô-đun này với các mô-đun không được triển khai bằng Python, bao gồm tất cả các mô-đun mở rộng tiêu chuẩn và tùy chọn.
- pyclbr.readmodule(module, path=None)¶
Trả về tên lớp cấp mô-đun ánh xạ từ điển tới bộ mô tả lớp. Nếu có thể, hãy đưa vào bộ mô tả cho các lớp cơ sở đã nhập. Tham số module là một chuỗi có tên mô-đun cần đọc; nó có thể là tên của một mô-đun trong một gói. Nếu được cung cấp, path là một chuỗi các đường dẫn thư mục được thêm vào trước
sys.path, được sử dụng để định vị mã nguồn mô-đun.Chức năng này là giao diện gốc và chỉ được giữ lại để tương thích ngược. Nó trả về một phiên bản đã lọc sau đây.
- pyclbr.readmodule_ex(module, path=None)¶
Trả về cây dựa trên từ điển chứa bộ mô tả hàm hoặc lớp cho từng hàm và lớp được xác định trong mô-đun bằng câu lệnh
defhoặcclass. Từ điển được trả về ánh xạ hàm cấp mô-đun và tên lớp tới bộ mô tả của chúng. Các đối tượng lồng nhau được nhập vào từ điển con của cha mẹ chúng. Giống như readmodule, module đặt tên cho mô-đun cần đọc và path được thêm vào trước sys.path. Nếu mô-đun đang được đọc là một gói thì từ điển được trả về có khóa'__path__'có giá trị là danh sách chứa đường dẫn tìm kiếm gói.
Added in version 3.7: Bộ mô tả cho các định nghĩa lồng nhau. Chúng được truy cập thông qua thuộc tính trẻ em mới. Mỗi cái có một thuộc tính cha mới.
Các bộ mô tả được các hàm này trả về là các thể hiện của các lớp Hàm và Lớp. Người dùng không cần phải tạo các phiên bản của các lớp này.
Đối tượng chức năng¶
- class pyclbr.Function¶
Các cá thể lớp
Functionmô tả các hàm được xác định bởi câu lệnh def. Chúng có các thuộc tính sau:- file¶
Tên của tệp trong đó hàm được xác định.
- module¶
Tên của module xác định chức năng được mô tả.
- name¶
Tên của chức năng.
- lineno¶
Số dòng trong tệp nơi định nghĩa bắt đầu.
- parent¶
Đối với các hàm cấp cao nhất,
None. Đối với các hàm lồng nhau, parent.Added in version 3.7.
- children¶
Tên ánh xạ
dictionarytới các bộ mô tả cho các hàm và lớp lồng nhau.Added in version 3.7.
Đối tượng lớp¶
- class pyclbr.Class¶
Các cá thể lớp
Classmô tả các lớp được xác định bởi các câu lệnh lớp. Chúng có các thuộc tính giống nhưFunctionsvà hai thuộc tính khác.- file¶
Tên của tệp trong đó lớp được xác định.
- module¶
Tên của mô-đun xác định lớp được mô tả.
- name¶
Tên của lớp học.
- lineno¶
Số dòng trong tệp nơi định nghĩa bắt đầu.
- parent¶
Đối với các lớp cấp cao nhất,
None. Đối với các lớp lồng nhau, lớp cha.Added in version 3.7.
- children¶
Từ điển ánh xạ tên tới các bộ mô tả cho các hàm và lớp lồng nhau.
Added in version 3.7.
- super¶
Danh sách các đối tượng
Classmô tả các lớp cơ sở trực tiếp của lớp được mô tả. Các lớp được đặt tên là siêu lớp nhưngreadmodule_ex()không thể phát hiện được sẽ được liệt kê dưới dạng một chuỗi có tên lớp thay vì là đối tượngClass.
- methods¶
Tên phương thức ánh xạ
dictionarythành số dòng. Điều này có thể được bắt nguồn từ từ điểnchildrenmới hơn, nhưng vẫn có khả năng tương thích ngược.