Bạn có thể lấy các tập tin bánh xe thay đổi phần mở rộng để .zip
và sau đó trích xuất nội dung giống như bất kỳ tập tin zip khác.
từ PEP 427
Một bánh xe là một kho lưu trữ ZIP định dạng với một tên tập tin định dạng đặc biệt và phần mở rộng .whl
.
Ví dụ
các Django python package có một file bánh xe. Hãy thử ví dụ Django-1.8.4-py2.py3-none-any.whl. Gói của họ chứa các tệp không phải python nếu bạn muốn xem nơi chúng sẽ được lưu trữ trong kho lưu trữ.
Mã
Các mã sau đây hoạt động chính xác trong python2 và python3. Nó sẽ liệt kê các tập tin trong bất kỳ gói bánh xe nào. Tôi sử dụng gói bánh xe pep8 làm ví dụ.
from zipfile import ZipFile
path = '/tmp/pep8-1.7.0-py2.py3-none-any.whl'
print(ZipFile(path).namelist())
Output
['pep8.py', 'pep8-1.7.0.dist-info/DESCRIPTION.rst', 'pep8-1.7.0.dist-info/entry_points.txt', 'pep8-1.7.0.dist-info/metadata.json', 'pep8-1.7.0.dist-info/namespace_packages.txt', 'pep8-1.7.0.dist-info/top_level.txt', 'pep8-1.7.0.dist-info/WHEEL', 'pep8-1.7.0.dist-info/METADATA', 'pep8-1.7.0.dist-info/RECORD']
Nguồn
2015-10-03 15:59:11
Đẹp, chắc chắn [đó là một file zip] (https://pypi.python.org/pypi/wheel). –
Về "không quá nhiều để đảm bảo rằng nó sẽ hoạt động": một số mục danh sách kiểm tra là các đối tượng bất thường để kiểm tra, ví dụ như đảm bảo rằng bất kỳ tệp giấy phép bổ sung nào đi kèm với thư viện C bên ngoài được bao gồm trong biểu mẫu được biên dịch trong bánh xe. Các mục này được kiểm tra tốt nhất bằng cách liệt kê nội dung của bánh xe. Xem thêm: https://stackoverflow.com/questions/24347450/how-do-you-add-additional-files-to-a-wheel –