Как узнать, был ли файл полностью загружен с использованием python? - PullRequest
0 голосов
/ 11 ноября 2018

У нас есть скрипт на python, который автоматизирует пакетную обработку данных изображений временных рядов, загруженных из Интернета.Текущий сценарий требует загрузки всех данных перед выполнением.Это занимает больше времени.Мы хотим изменить сценарий, написав планировщик, который будет вызывать сценарий всякий раз, когда отдельные данные полностью загружаются.Как узнать, что файл был загружен полностью с использованием Python?

1 Ответ

0 голосов
/ 11 ноября 2018

Если вы загружаете файл с помощью Python, вы можете просто выполнить операцию обработки изображения после завершения операции загрузки файла.Пример использования запросов :

import requests
import mymodule # The module containing your custom image-processing function

for img in ("foo.png", "bar.png", "baz.png"):
    response = requests.get("http://www.example.com/" + img)
    image_bytes = response.content
    mymodule.process_image(image_bytes)

Тем не менее, при последовательном подходе, описанном выше, вы будете тратить много времени на ожидание ответов от удаленного сервера.Чтобы сделать это быстрее, вы можете загружать и обрабатывать несколько файлов одновременно, используя aysncio и aiohttp .Хорошее введение в загрузку файлов таким способом есть в посте Павла Мича Выполнение 1 миллиона запросов с помощью python-aiohttp .Код, который вам нужен, будет выглядеть примерно как пример внизу этого поста (тот, что с семафором).

...