码迷,mamicode.com
首页 > 编程语言 > 详细

Python 读写文件 中文乱码 错误TypeError: write() argument must be str, not bytes+

时间:2017-11-10 15:16:34      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:erro   ons   问题   not   产生   byte   join   文件   must   

今天写上传文件代码,如下

def uploadHandle(request):
    pic1=request.FILES[pic1]
    picName=os.path.join(settings.MEDIA_ROOT,pic1.name)
    with open(picName,w) as pic:
        for c in pic1.chunks():
            pic.write(c)
    return HttpResponse(picName)

出现TypeError: write() argument must be str, not bytes错误

网上搜索才发现原来是文件打开方式有问题,把之前的打开语句修改为用二进制方式打开就没有问题

改为:

def uploadHandle(request):
    pic1=request.FILES[pic1]
    picName=os.path.join(settings.MEDIA_ROOT,pic1.name)
    with open(picName,wb+) as pic:
        for c in pic1.chunks():
            pic.write(c)
    return HttpResponse(picName)

产生问题的原因是因为pickle存储方式默认是二进制方式

Python 读写文件 中文乱码 错误TypeError: write() argument must be str, not bytes+

标签:erro   ons   问题   not   产生   byte   join   文件   must   

原文地址:http://www.cnblogs.com/lilinpging/p/7814247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!