Прерывание потока запросов, когда прошло X минут - PullRequest
0 голосов
/ 21 марта 2019

Извините, нубский вопрос здесь. Я пытаюсь записать интернет-радиостанцию ​​с 6 до 6:30, но не могу понять, как остановить поток запросов. Предположим, что выполнение этого сценария запланировано на 6 часов утра.

import requests
import time

r = requests.get(stream_url, stream=True) #not putting url here but it's defined

with open('6am-630am.mp3', 'wb') as f:
    try:
        while int(time.strftime('%M')) < 30: #do this till it's 30 mins past hour
            for block in r.iter_content(1024):
                f.write(block)
    except KeyboardInterrupt:
        pass

1 Ответ

0 голосов
/ 21 марта 2019

Используйте менеджер контекста:

with open('6am-630am.mp3', 'wb') as f:
    try:
        with requests.get(stream_url, stream=True) as r:
            while int(time.strftime('%M')) < 30: #do this till it's 6:30
                for block in r.iter_content(1024):
                    f.write(block)

    except KeyboardInterrupt:
        pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...