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

Posted 这次我有经验了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 读写文件 中文乱码 错误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,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+的主要内容,如果未能解决你的问题,请参考以下文章

处理Python2.7读写文件中的中文乱码问题

读写文件文件方法python2的乱码问题python对passwd文件进行排序

情感分析必备python文件读写:codecs

Python文件读写操作

python错误总结

pythonpython读写文件,都不乱码