Ответ 1
Возможно, вы ищете классы BytesIO
или StringIO
из пакета Python io
, которые доступны в python 2 и python 3. Они предоставляют файловый интерфейс, который вы можете использовать в своем коде точно так же, как вы взаимодействуете с реальным файлом.
StringIO
используется для хранения текстовых данных:
import io
f = io.StringIO("some initial text data")
BytesIO
должен использоваться для двоичных данных:
import io
f = io.BytesIO(b"\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01")
Для хранения данных в формате MP3 вам, вероятно, понадобится класс BytesIO
. Чтобы инициализировать его из запроса GET к серверу, выполните следующие действия:
import requests
from pygame import mixer
import io
r = requests.get("http://example.com/somesmallmp3file.mp3")
inmemoryfile = io.BytesIO(r.content)
mixer.music.init()
mixer.music.load(inmemoryfile)
mixer.music.play()