解决python3读取Python2存储的pickle文件问题

我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误。

import pickle
picklefile=open('2ohsumed_wmd_d.pk','rb')
data=pickle.load(picklefile)

print (data)

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 11: ordinal not in range(128)

解决办法:

import pickle
picklefile=open('2ohsumed_wmd_d.pk','rb')
data=pickle.load(picklefile,encoding='iso-8859-1')

print (data)

以上这篇解决python3读取Python2存储的pickle文件问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python获取mp3文件信息的方法

    本文实例讲述了python获取mp3文件信息的方法.分享给大家供大家参考.具体如下: 将代码生成.py文件放在目录下运行,可以获取该目录的所有mp3文件的信息,需要使用ID3库 import os, sys from ID3 import * files = os.listdir(os.getcwd()) for f in files: x = os.path.splitext(f) if x[1] == '.mp3': n = x[0].split(' - ') author = n[0] t

  • Python实现给文件添加内容及得到文件信息的方法

    本文实例讲述了Python实现给文件添加内容及得到文件信息的方法.分享给大家供大家参考.具体分析如下: 经常会遇到给文件添加内容的时候,如果只是添加在文件的末尾,就比较简单了: file = open(filename,'a') file.write('hello') file.close() 使用'a'模式打开文件后,指针默认指向文件末尾,即使你: file.seek(0) file.write('world') 字符串'world'还是会加在文件的末尾,而不会是你想要的开始位置. 而我遇到的

  • Python实现文件信息进行合并实例代码

    将电话簿TeleAddressBook.txt和电子邮件EmailAddressBook.txt合并为一个完整的AddressBook.txt def main(): ftele1=open("d:\TeleAddressBook.txt","rb") ftele2=open("d:\EmailAddressBook.txt","rb") ftele1.readline() ftele2.readline() lines1=f

  • Python读取mat文件,并保存为pickle格式的方法

    这两天在搞Theano,要把mat文件转成pickle格式载入Python. Matlab是把一维数组当做n*1的矩阵的,但Numpy里还是有vector和matrix的区别,Theano也是对二者做了区分. 直接把代码贴出来吧,好像也没什么可讲的 = = from scipy.io import loadmat import numpy, cPickle data_dict=loadmat(r'E:\dataset\CIFAR10\CIFAR10_small.mat') #need an r!

  • Python读取Pickle文件信息并计算与当前时间间隔的方法分析

    本文实例讲述了Python读取Pickle文件信息并计算与当前时间间隔的方法.分享给大家供大家参考,具体如下: python-–读取Pickle文件信息计算出与当前的时间间隔 生成h_dic.pkl文件信息 root@kali:~/python/snmp# cat snmpserver.py #!/usr/bin/python # --*-- coding:utf-8 --*-- import datetime#导入时间戳 import SocketServer import pickle pf

  • python实现搜索本地文件信息写入文件的方法

    本文实例讲述了python实现搜索本地文件信息写入文件的方法.分享给大家供大家参考,具体如下: 主要功能: 在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件,然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的文件(如果文件不存在,则建立相应的文件)中 先卡看运行效果吧: 运行效果的前部分: 运行效果的后部分: 写入信息后的文件: 代码部分: #在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件 #然后把搜索出来的信息(相关文件的绝对

  • Python3读取zip文件信息的方法

    本文实例讲述了Python3读取zip文件信息的方法.分享给大家供大家参考.具体实现方法如下: 该程序接受一个字符串,其内容是一个zip文件,需要读取这个zip文件中的信息 import zipfile class zip_string(zipfile.ZipFile): def __init__(self, data_string): zipfile.ZipFile.__init__(self, data_string) zstr = zip_string('d:/中华十大名帖.zip') f

  • 解决python3读取Python2存储的pickle文件问题

    我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误. import pickle picklefile=open('2ohsumed_wmd_d.pk','rb') data=pickle.load(picklefile) print (data) UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 11

  • 用python3读取python2的pickle数据方式

    问题一:TypeError: a bytes-like object is required, not 'str' 解决:该问题属于Python3和Python2的字符串兼容问题,数据文件是在Python2下序列化的,使用Python3读取时,需要将'str'转化为'bytes'. picklefile=open('XXX.pkl','r') class StrToBytes: def __init__(self, fileobj): self.fileobj = fileobj def rea

  • python3 如何读取python2的npy文件

    python3读取python2打包的npy文件会报错,原因是编码方式不同,所以只要在读取的时候加上编码方式即可. 解决方法 docs_train = np.load('./data/20news_clean/train.txt.npy', allow_pickle=True, encoding='bytes') docs_test = np.load('./data/20news_clean/test.txt.npy', allow_pickle=True, encoding='bytes')

  • 解决android6.0以上不能读取外部存储权限的问题

    通过内容提供者获取手机sdcard本地视频时, /** * 从本地的sdcard得到数据 * //1.遍历sdcard,后缀名 * //2.从内容提供者里面获取视频 * //3.如果是6.0的系统,动态获取读取sdcard的权限 */ private void getDataFromLocal() { new Thread(){ @Override public void run() { super.run(); // isGrantExternalRW((Activity) context);

  • 解决python3中cv2读取中文路径的问题

    如下所示: python3: img_path =  ' ' im = cv2.imdecode(np.fromfile(img_path,dtype = np.uint8),-1) save_path =  ' ' cv2.imencode('.jpg',im)[1].tofile(save_path) python2.7: img_path = ' ' im = cv2.imread(img_path.decode('utf-8')) 以上这篇解决python3中cv2读取中文路径的问题就是

  • Python3 读取Word文件方式

    我的环境,Windows10,Python3.6.3 查询了很多有关资料,发现都是Python2版本操作Word文件的,所以就写了这篇短小的文章. 一.安装 docx pip install docx 完了之后,导入:import docx 发现报错:ModuleNotFoundError: No module named 'exceptions' 说没有 exceptions 这个模块,由于Python3已经取消了这个模块,而 PendingDeprecationWarning 是内置 可以直

  • 完美解决keras 读取多个hdf5文件进行训练的问题

    用keras进行大数据训练,为了加快训练,需要提前制作训练集. 由于HDF5的特性,所有数据需要一次性读入到内存中,才能保存. 为此,我采用分批次分为2个以上HDF5进行存储. 1.先读取每个标签下的图片,并设置标签 def load_dataset(path_name,data_path): images = [] labels = [] train_images = [] valid_images = [] train_labels = [] valid_labels = [] counte

  • 完美解决java读取大文件内存溢出的问题

    1. 传统方式:在内存中读取文件内容 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 实际上是使用BufferedReader或者其子类LineNumberReader来读取的. 传统方式的问题: 是文件的所有行都被存放在内存中,当文件足够大时很快就会

  • Python3读取文件常用方法实例分析

    本文实例讲述了Python3读取文件常用方法.分享给大家供大家参考.具体如下: ''''' Created on Dec 17, 2012 读取文件 @author: liury_lab ''' # 最方便的方法是一次性读取文件中的所有内容放到一个大字符串中: all_the_text = open('d:/text.txt').read() print(all_the_text) all_the_data = open('d:/data.txt', 'rb').read() print(all

随机推荐