Làm cách nào để tải xuống đồng thời nhiều tệp trong python?
Tập lệnh tải xuống nhiều tệp song song với sự hỗ trợ cho s3. //. http. //. https. // giao thức Show Sự miêu tảdownloader.pyCách sử dụng. Cài đặthệ điều hành Mac. Một phiên bản Python đã được cài đặt phụ thuộcMột số gói Python bổ sung bắt buộc cần được cài đặt để chạy trên dòng lệnh. Dưới đây là danh sách các gói AWS Boto3 là SDK Python dành cho AWS. Boto3 có thể được sử dụng để tương tác trực tiếp với tài nguyên AWS từ tập lệnh Python API S3 của Boto3 không có bất kỳ phương pháp nào để tải xuống song song nhiều tệp từ một nhóm S3. Bạn có tùy chọn tải xuống từng tệp một nhưng điều đó tốn thời gian Trong hướng dẫn này, chúng tôi sẽ xem xét cách chúng tôi có thể tải xuống nhiều tệp song song để tăng tốc quá trình tải xuống nhiều tệp từ S3 Mục lục Đa xử lý và đa luồng PythonCó hai cách để tải xuống nhiều tệp song song
Do khóa trình thông dịch toàn cầu (GIL) trong Python, Đa xử lý là cách thực sự duy nhất để đạt được chủ nghĩa thực dụng thực sự. Đa xử lý tận dụng nhiều CPU và lõi. Đa xử lý là lý tưởng khi các tác vụ bị ràng buộc bởi CPU Mặt khác, đa luồng rất hữu ích khi các tác vụ bị ràng buộc IO. Phân luồng thường có dung lượng bộ nhớ thấp hơn và khả năng truy cập bộ nhớ dùng chung làm cho nó trở thành một lựa chọn tuyệt vời cho các ứng dụng liên kết I/O Để hiểu chi tiết hơn về sự khác biệt giữa hai loại này, hãy xem chủ đề này trên Stackoverflow Boto3 w/Đa luồngTheo tài liệu Boto3, Bài viết này đi sâu hơn vào sự khác biệt giữa Khách hàng và Tài nguyên Tải xuống nhiều tệp bằng Đa xử lýChúng tôi sẽ tận dụng
Đầu ra của chương trình
Tải xuống nhiều tệp bằng Đa luồngChúng tôi sẽ sử dụng
Đầu ra của việc chạy chương trình này là
Hiệu suấtHiệu suất giữa Đa xử lý và Đa luồng tương tự nhau trong các thử nghiệm mà tôi đã chạy. Có một cải tiến đáng kể so với việc tải xuống từng tệp một |