[Tutor] [Python 3.5] TypeError: a bytes-like object is required, not 'str' PICKLE

Allan Tanaka allantanaka11 at yahoo.com
Fri Apr 7 04:28:59 EDT 2017


Hi
I have added b so that it translates into bytes object. save_cPickle part is not problem...
But i still get an error when coming into load_cPickle for this function: 
Dataset.save_part_features('categorical_counts', Dataset.get_part_features('categorical'))
although i have defined b in save_cPickle

THE CODE:
import _pickle as cPickle
def save_cPickle(filename, data):
    with open(filename, 'wb') as f:
        cPickle.dump(data, f)


def load_cPickle(filename):
    with open(filename) as f:

        return cPickle.load(f)

class Dataset(object): 

    part_types = { 
    'id': 'd1', 
    'loss': 'd1',
    }
    parts = part_types.keys() 

    @classmethod 
    def save_part_features(cls, part_name, features): 
    save_cPickle('%s/%s-features.pickle' % (cache_dir, part_name), features) 

    @classmethod 
    def get_part_features(cls, part_name): 
    return load_cPickle('%s/%s-features.pickle' % (cache_dir, part_name))

Dataset.save_part_features('categorical_counts', Dataset.get_part_features('categorical'))
Dataset(categorical_counts=train_cat_counts).save('train')


More information about the Tutor mailing list