Словарь переменных класса не сохраняется с pickle.dump в Python 2.7

Я использую pickle для сохранения графа объектов путем сброса корня. Когда я загружаю корень, у него есть все переменные экземпляра и узлы связанных объектов. Однако я сохраняю все узлы в переменной класса словаря типа. Переменная класса переполнена перед сохранением, но после того, как я распаковываю данные, она пуста.

Вот класс, который я использую:

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, webpage)
            findPatRelated = re.findall(patFinderRelated, webpage)
            newPage = Page(findPatTitle,findPatLink,findPatRelated)
            self.__related.append(newPage)
            self.__crawled[url] = newPage
        else:
            self.__related.append(self.__crawled[url])

    def crawlRelated(self):
        for link in self.__relatedURLs:
            self.crawl(link)

Я сохраняю это так:

with open('medTwiceGraph.dat','w') as outf:
    pickle.dump(root,outf)

и я загружаю это так:

def loadGraph(filename): #returns root
    with open(filename,'r') as inf:
        return pickle.load(inf)

root = loadGraph('medTwiceGraph.dat')

Все данные загружаются, за исключением переменной класса __crawled.

Что я делаю неправильно?

Ответы на вопрос(4)

Ваш ответ на вопрос