我应该使用Pickle还是cPickle?

时间:2016-05-09 09:20:54

标签: python serialization pickle

Python有<head> <title>Test</title> <script> var images = [ "https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png", "https://upload.wikimedia.org/wikipedia/commons/a/a9/Example.jpg", "https://upload.wikimedia.org/wikipedia/commons/c/ce/Example_image.png", "https://upload.wikimedia.org/wikipedia/commons/e/ee/Example-zh.jpg", "https://upload.wikimedia.org/wikipedia/commons/e/e2/P%C5%99%C3%ADklad.jpg", "https://upload.wikimedia.org/wikipedia/commons/d/d6/Beispiel.png" ]; var links = [ "http://www.example1.com", "http://www.example2.com", "http://www.example3.com", "http://www.example4.com", "http://www.example5.com", "http://www.example6.com", ]; var i = 0; var renew = setInterval(function(){ if(i==images.length) i=0; document.getElementById("img1").src = images[i]; document.getElementById("link1").href = links[i]; if(i+1==images.length) i=-1; document.getElementById("img2").src = images[i+1]; document.getElementById("link2").href = links[i+1]; if(i+2==images.length) i=-2; document.getElementById("img3").src = images[i+2]; document.getElementById("link3").href = links[i+2]; i+=3; },5000); </script> </head> <body> <div align="center"> <a href="http://www.example1.com" id="link1"><img src="https://upload.wikimedia.org/wikipedia/commons/7/70/Example.png" id='img1' > </a> </br></br> <a href="http://www.example2.com" id="link2"><img src="https://upload.wikimedia.org/wikipedia/commons/a/a9/Example.jpg" id='img2' > </a> </br></br> <a href="http://www.example3.com" id="link3"><img src="https://upload.wikimedia.org/wikipedia/commons/c/ce/Example_image.png" id='img3' > </a> </br> </div> </body> pickle模块用于序列化。

cPickle明显优于cPickle:速度。 pickle优于pickle的优势是什么?

2 个答案:

答案 0 :(得分:41)

pickle 模块实现了将任意 Python 对象转换为一系列字节的算法。此过程也称为序列化“对象。然后可以传输或存储表示对象的字节流,然后重建该字节流以创建具有相同特征的新对象。

cPickle 模块在 C 而不是Python中实现相同的算法。它比Python实现快许多倍,但不允许用户从Pickle继承。如果子类化对您的使用不重要,您可能想要使用cPickle。

Source以上信息。

答案 1 :(得分:6)

我发现这个关于泡菜和cPickle:

&#34; pickle模块实现了一个算法,用于将任意Python对象转换为一系列字节....

cPickle模块使用C而不是Python实现相同的算法。它比 ,但不允许用户从Pickle继承。

如果子类化对您的使用不重要,您可能想要使用cPickle。&#34;

来源:https://pymotw.com/2/pickle/