Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将原始数据存储到Python中的PNG文件中?_Python_Python 3.x_Encoding_Python Requests_Binaryfiles - Fatal编程技术网

如何将原始数据存储到Python中的PNG文件中?

如何将原始数据存储到Python中的PNG文件中?,python,python-3.x,encoding,python-requests,binaryfiles,Python,Python 3.x,Encoding,Python Requests,Binaryfiles,这里我调用API来生成一个QR码,我想保存到一个PNG文件中 正在生成二维码,但未正确保存 PNG文件包含二进制数据,而不是UTF-8文本 您需要做的是: 使用(二进制)而不是(文本) 以二进制模式(wb)代替文本模式(w),而不指定编码 生成的代码应如下所示: >>> def qrcodegenerate(nbr): ... res = requests.get("https://chart.googleapis.com/chart?cht=qr&chs=30

这里我调用API来生成一个QR码,我想保存到一个PNG文件中


正在生成二维码,但未正确保存

PNG文件包含二进制数据,而不是UTF-8文本

您需要做的是:

  • 使用(二进制)而不是(文本)

  • 以二进制模式(
    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.text
    ...     with open("C:\wamp\www\Paymentapi\qrcode\qr_"+str(nbr)+'.png','w',encoding="utf-8") as f:
    ...             f.write(data)
    ...
    >>> qrcodegenerate(5697)
    

    非常感谢Andrea Corbellini。它很好用,也能解释我的错误。
    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)