av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:26日期: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)

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

TypeError at /upload/

write() argument must be str, not bytes

把之前的打開語(yǔ)句修改為用二進(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)

沒(méi)有問(wèn)題了~

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

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

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

開發(fā)過(guò)程中,我曾經(jīng)遇到一個(gè)奇怪的問(wèn)題,在讀取一個(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)

于是再次求助萬(wàn)能的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’)

問(wèn)題終于的到了解決。

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 99免费精品视频 | 一级黄色片美国 | 日韩高清一区二区 | 国产九九九 | 免费在线一区二区三区 | 亚洲综合在线播放 | 欧美自拍视频 | av无遮挡 | 一级毛片视频 | 日韩精品中文字幕在线 | 在线国产一区 | 久久成人一区 | 色婷婷av777 av免费网站在线 | 精品一区视频 | 美女中文字幕视频 | 91久久久久久久久久久 | 久久久久久久久久久久久久久久久久久久 | 精品婷婷| 国产一区久久 | 91视频a | 久久精品国产亚洲一区二区 | 国产精品自产拍在线观看蜜 | 亚洲第1页 | 国产精品一区二区av | 天天操天天天干 | 中文精品视频 | 亚洲一级视频在线 | 亚洲欧洲成人av每日更新 | 久久99精品久久久久久 | 国内在线视频 | 午夜精品一区二区三区免费视频 | 亚洲国产精品99久久久久久久久 | 日韩不卡视频在线观看 | 成人亚洲视频 | 久久久久国产一级毛片高清网站 | 丝袜久久| 日韩国产在线 | 久久久精品一区二区三区四季av | 国产高清一区二区 | 亚洲国产视频一区二区 | 久久99国产精品 |