欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2020年10月23日 09:34:56   作者:Kwoky  
這篇文章主要介紹了解決Python 寫(xiě)文件報(bào)錯(cuò)TypeError的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

處理上傳的文件:

 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

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

 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模塊。

開(kāi)發(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

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

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 寫(xiě)文件報(bào)錯(cuò)TypeError的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于tkinter中ttk控件的width-height設(shè)置方式

    基于tkinter中ttk控件的width-height設(shè)置方式

    這篇文章主要介紹了基于tkinter中ttk控件的width-height設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python模塊shutil函數(shù)應(yīng)用示例詳解教程

    python模塊shutil函數(shù)應(yīng)用示例詳解教程

    這篇文章主要為大家介紹了python模塊中shutil函數(shù)的應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-10-10
  • Python Process創(chuàng)建進(jìn)程的2種方法詳解

    Python Process創(chuàng)建進(jìn)程的2種方法詳解

    這篇文章主要介紹了Python Process創(chuàng)建進(jìn)程的2種方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 詳解Python字典的運(yùn)算

    詳解Python字典的運(yùn)算

    這篇文章主要為大家介紹了Python字典的運(yùn)算 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python設(shè)計(jì)模式之中介模式簡(jiǎn)單示例

    Python設(shè)計(jì)模式之中介模式簡(jiǎn)單示例

    這篇文章主要介紹了Python設(shè)計(jì)模式之中介模式,簡(jiǎn)單介紹了中介模式的概念、功能,并結(jié)合實(shí)例形式給出了Python定義與使用中介模式的相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python map函數(shù)()用法

    Python map函數(shù)()用法

    map()函數(shù)是Python中的一個(gè)內(nèi)置函數(shù),它的功能是將指定的函數(shù),依次作用于可迭代對(duì)象的每個(gè)元素,并返回一個(gè)迭代器對(duì)象,這篇文章主要介紹了Python map函數(shù)()用法,需要的朋友可以參考下
    2023-07-07
  • python學(xué)習(xí)必備知識(shí)匯總

    python學(xué)習(xí)必備知識(shí)匯總

    這篇文章主要介紹了python學(xué)習(xí)必備知識(shí)匯總的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • python針對(duì)Oracle常見(jiàn)查詢(xún)操作實(shí)例分析

    python針對(duì)Oracle常見(jiàn)查詢(xún)操作實(shí)例分析

    這篇文章主要介紹了python針對(duì)Oracle常見(jiàn)查詢(xún)操作,結(jié)合實(shí)例形式分析了python針對(duì)Oracle常見(jiàn)的子查詢(xún)、多表查詢(xún)等相關(guān)原理、操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • Python matplotlib學(xué)習(xí)筆記之坐標(biāo)軸范圍

    Python matplotlib學(xué)習(xí)筆記之坐標(biāo)軸范圍

    這篇文章主要介紹了Python matplotlib學(xué)習(xí)筆記之坐標(biāo)軸范圍,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • django1.11.1 models 數(shù)據(jù)庫(kù)同步方法

    django1.11.1 models 數(shù)據(jù)庫(kù)同步方法

    今天小編就為大家分享一篇django1.11.1 models 數(shù)據(jù)庫(kù)同步方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05

最新評(píng)論