首页 > 解决方案 > 在不更改 Python 3 中的数据的情况下从字符串转换为字节

问题描述

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

我能够将二进制数据作为字符串获取,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),但没有帮助。

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

标签: arrayspython-3.x

解决方案


根据请求文档,您可以使用内容而不是文本以字节形式访问响应正文。我建议你试一试。

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

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


推荐阅读