>>> def qrcodegenerate(nbr):
... res = requests.get("https://chart.googleapis.com/chart?cht=qr&chs=300x330&choe=UTF-8&chl="+str(nbr))
... print(res.url)
... data =res.text
... with open("C:wampwwwPaymentapiqrcodeqr_"+str(nbr)+'.png','w',encoding="utf-8") as f:
... f.write(data)
...
>>> qrcodegenerate(5697)
在这里,我调用 API 来生成二维码,我想保存到 PNG 文件中。
正在生成 QR 码,但未正确保存。
PNG 文件包含二进制数据,而不是 UTF-8 文本。
您需要做的是:
-
使用
res.content
(二进制(而不是res.text
(文本(。 -
以二进制模式(
wb
(而不是文本模式(w
(打开文件,而不指定编码。
生成的代码应如下所示:
def qrcodegenerate(nbr):
res = requests.get('https://chart.googleapis.com/chart?cht=qr&chs=300x330&choe=UTF-8&chl=' + str(nbr))
print(res.url)
data = res.content
with open('...', 'wb') as f:
f.write(data)