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+的主要内容,如果未能解决你的问题,请参考以下文章