在不改变Python 3中的数据的情况下从字符串转换为字节

时间:2018-05-30 15:39:04

标签: arrays python-3.x

我想使用python 3从网站下载二进制数据(.wav文件)。

我能够使用requests.get将二进制数据作为字符串获取,但是当我尝试将其写入文件时,数据已更改且保存的文件不正确:

import requets
waveurl = 'http://www ..... /song.wav'
res = requests.get(waveurl)
with open("song.wav, "wb") as f:
    f.write(bytes(res.text)

我也尝试使用struct.pack("B",each_byte),但没有帮助。

如何正确转换下载并将二进制数据保存到文件而不更改它?

1 个答案:

答案 0 :(得分:0)

根据请求文档,您可以使用内容而不是文本访问response body as bytes。我建议你尝试一下。

import request
waveurl = 'http://www ..... /song.wav'
res = requests.get(waveurl)
with open("song.wav, "wb") as f:
    f.write(res.content)

我还没有测试过这个选项,我的意思是为你提供一个起点。