小编Joe*_*een的帖子

在python 2.7中使用pickle.dump保存的类变量字典

我正在使用pickle通过转储root来保存对象图.当我加载根时,它具有所有实例变量和连接的对象节点.但是我将所有节点保存在字典类型的类变量中.在保存之前,类变量已满,但在取消数据后,它变为空.

这是我正在使用的课程:

class Page():

    __crawled = {}

    def __init__(self, title = '', link = '', relatedURLs = []):
        self.__title = title
        self.__link = link
        self.__relatedURLs = relatedURLs
        self.__related = [] 

    @property
    def relatedURLs(self):
        return self.__relatedURLs

    @property
    def title(self):
        return self.__title

    @property
    def related(self):
        return self.__related

    @property
    def crawled(self):
        return self.__crawled

    def crawl(self,url):
        if url not in self.__crawled:
            webpage = urlopen(url).read()
            patFinderTitle = re.compile('<title>(.*)</title>')
            patFinderLink = re.compile('<link rel="canonical" href="([^"]*)" />')
            patFinderRelated = re.compile('<li><a href="([^"]*)"')

            findPatTitle = re.findall(patFinderTitle, webpage)
            findPatLink = re.findall(patFinderLink, …
Run Code Online (Sandbox Code Playgroud)

python pickle python-2.7

6
推荐指数
2
解决办法
3662
查看次数

Python中的Pickle Queue对象

我有一个使用Queue对象列表的类.我需要挑选这个类,包括保存在队列对象中的信息.例如:

import Queue
import pickle

class QueueTest(object):
    def __init__(self):
        self.queueList = []
    def addQueue(self):
        q = Queue.Queue()
        q.put('test')
        self.queueList.append(q)


obj = QueueTest()
obj.addQueue()

with open('pickelTest.dat','w') as outf:
    pickle.dump(obj,outf)
Run Code Online (Sandbox Code Playgroud)

返回错误

raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle lock objects
Run Code Online (Sandbox Code Playgroud)

是否有工作来挑选Queue对象?

python pickle python-2.7

5
推荐指数
1
解决办法
4589
查看次数

标签 统计

pickle ×2

python ×2

python-2.7 ×2