电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

解決Python 寫文件報(bào)錯(cuò)TypeError的問題

瀏覽:42日期:2022-07-07 13:33:13

處理上傳的文件:

f1 = request.FILES[’pic’] fname = ’%s/%s’ % (settings.MEDIA_ROOT, f1.name) with open(fname, ’w’) as pic: for c in f1.chunks(): pic.write(c)

測試報(bào)錯(cuò):

TypeError at /upload/

write() argument must be str, not bytes

把之前的打開語句修改為用二進(jìn)制方式打開:

f1 = request.FILES[’pic’] fname = ’%s/%s’ % (settings.MEDIA_ROOT, f1.name) with open(fname, ’wb+’) as pic: for c in f1.chunks(): pic.write(c)

沒有問題了~

補(bǔ)充知識(shí):python3使用pickle讀取文件提示TypeError或者UnicodeDecodeError的解決辦法

python的pickle模塊實(shí)現(xiàn)了基本的數(shù)據(jù)序列和反序列化。通過pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\(yùn)行的對象信息保存到文件中去,永久存儲(chǔ);通過pickle模塊的反序列化操作,我們能夠從文件中創(chuàng)建上一次程序保存的對象。

python2使用的是cPickle模塊,而在python3中cPickle已經(jīng)被取消,取而代之的是pickle模塊。

開發(fā)過程中,我曾經(jīng)遇到一個(gè)奇怪的問題,在讀取一個(gè)文件時(shí)候,使用python2的如下方式:

import cPickle

train, test, dicts = cPickle.load(open('./dataset/atis.pkl'))

是可以正常讀取文件的。

可是當(dāng)換做python3的方式讀取文件時(shí)候,如下:

import pickle

train, test, dicts = pickle.load(open('./dataset/atis.pkl'))

卻獲得了錯(cuò)誤提示,提示信息如下:

Traceback (most recent call last):

File “Main.py”, line 4, in

train, test, dicts = pickle.load(open(“./dataset/atis.pkl”))

TypeError: ‘str’ does not support the buffer interface

查詢錯(cuò)誤信息后得知解決辦法 鏈接,應(yīng)該指明用二進(jìn)制方式打開文件,于是代碼改為:

import pickle

train, test, dicts = pickle.load(open('./dataset/atis.pkl', 'rb'))

可是這時(shí)候錯(cuò)誤變成了:

Traceback (most recent call last):

File “Main.py”, line 4, in

train, test, dicts = pickle.load(open(“./dataset/atis.pkl”, “rb”))

UnicodeDecodeError: ‘a(chǎn)scii’ codec can’t decode byte 0xe8 in position 0: ordinal not in range(128)

于是再次求助萬能的google,終于找到了解決辦法 鏈接,我們需要告訴pickle:how to convert Python bytestring data to Python 3 strings,The default is to try and decode all string data as ASCII,所以代碼改為:

import pickle

train, test, dicts = pickle.load(open('./dataset/atis.pkl', 'rb'), encoding=’iso-8859-1’)

問題終于的到了解決。

以上這篇解決Python 寫文件報(bào)錯(cuò)TypeError的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 粉丝机械,粉丝烘干机,粉丝生产线-招远市远东粉丝机械有限公司 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | 小型玉石雕刻机_家用玉雕机_小型万能雕刻机_凡刻雕刻机官网 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 | 环球周刊网| 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 棉服定制/厂家/公司_棉袄订做/价格/费用-北京圣达信棉服 | 小青瓦丨古建筑瓦丨青瓦厂家-宜兴市徽派古典建筑材料有限公司 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 一氧化氮泄露报警器,二甲苯浓度超标报警器-郑州汇瑞埔电子技术有限公司 | 汝成内控-行政事业单位内部控制管理服务商 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 海南在线 海南一家| 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 气动隔膜泵-电动隔膜泵-循环热水泵-液下排污/螺杆/管道/化工泵「厂家」浙江绿邦 | LOGO设计_品牌设计_VI设计 - 特创易 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 焦作网 WWW.JZRB.COM | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 传动滚筒_厂家-淄博海恒机械制造厂 | 一体化预制泵站-一体化提升泵站-一体化泵站厂家-山东康威环保 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 |