eat python 002
ĿǰΪֹ£¬¾ÝÎÒËùÖª£¬ÔÚpythonÖжÔÏó³Ö¾Ã»¯ÓÐÒÔϼ¸ÖÖ·½·¨£º
1. ʹÓÃ(dbhash/bsddb, dbm, gdbm, dumbdbm µÈ£©ÒÔ¼°ËüÃǵÄ"¹ÜÀíÆ÷"( anydbm )¡£Ö»ÌṩÁË Python ×Ö
·û´®µÄÓÀ¾ÃÐÔ´¢´æ. Ìṩһ¸öÀàËÆ×ÖµäºÍÎļþµÄ¶ÔÏ󣬿ÉÒÔÍê³É×Ö·û´®µÄÓÀ¾ÃÐÔ´æ´¢¡£
2. ʹÓÃmarshalºÍpickleÀ´ÐòÁл¯python¶ÔÏ󣬲¢¾ß±¸´æ´¢µ½½éÖÊÉϵŦÄÜ¡£Á½ÕßµÄÇø±ðÔÚÓÚ£ºmarshalÖ»ÄÜ´¦Àí¼òµ¥µÄPython¶ÔÏ󣬰üÀ¨Êý×Ö¡¢ÐòÁС¢Ó³Éä¡¢ÒÔ¼°´úÂë¶ÔÏó£»¶øpickle»¹¿ÉÒÔ´¦ÀíµÝ¹é¶ÔÏ󣬱»²»Í¬µØ·½¶à´ÎÒýÓõĶÔÏó£¬ÒÔ¼°Óû§¶¨ÒåµÄÀàºÍʵÀý¡£ÆäÖУ¬pickleÓÐÒ»¸öCÓïÑÔʵÏֵİ汾——cPickle£¬¾ßÓиü¸ßµÄЧÂÊ£¬½¨ÒéʹÓÃcPickle¡£
3. ËäÈ»pickleÌṩ·Ç³£Ç¿´óµÄ¹¦ÄÜÁË£¬ÒѾ¿ÉÒÔÂú×ãÎÒÃǴ󲿷ֵÄÐèÇóÁË£¬µ«ÊÇ£¬ÈËÀàµÄÐèÇóÊÇÎÞÖ¹¾³µÄ£¬¹âÐòÁл¯²»Ðа¡£¬Ö»Óà pickle ²»Äܽâ¾öÃüÃûºÍ²éÕÒ pickle ÎļþÕâÑùµÄÎÊÌ⣬ҪÊÇ¿ÉÒÔ¶ÔÐòÁл¯µÄ¶ÔÏóÌṩ¹ÜÀí¹¦ÄÜ£¬Ö§³Ö²¢·¢·ÃÎʾͺÃÁË¡£Òò´Ë£¬ÈËÃÇ·¢Ã÷ÁËshelveÄ£¿é£¬ËüÊÇǰÁ½ÕßµÄ×ۺϡ£shelveÄ£¿éʹÓà anydbmÄ£¿éѰÕÒºÏÊʵÄDBMÄ£¿é£¬È»ºóʹÓÃcPickleÀ´Íê³É¶ÔÏó´æ´¢×ª»»¹ý³Ì¡£shelveÄ£¿éÔÊÐí¶ÔÊý¾Ý¿âÎļþ½øÐв¢·¢µÄ¶Á·ÃÎÊ£¬µ«²»ÔÊÐí¹²Ïí¶Á/д·ÃÎÊ¡£
4. »¹ÓÐÒ»ÖÖ·½°¸£¬ÊÇÔÚIBMµÄÍøÕ¾ÉÏ¿´µ½µÄ¡£ÄǾÍÊÇZODB[1]ÁË¡£ZODB±È¼òµ¥µÄ pickle Îļþ¸ü½¡×³ÒÔ¼°¸ü¾ßÓпÉÉìËõÐÔ¡£ZODBÊÇÒ»¸öÕë¶ÔPythonµÄZ¶ÔÏóÊý¾Ý¿â£¬ÊÇÒ»¸ö½¡×³µÄ¡¢¶àÓû§µÄºÍÃæÏò¶ÔÏóµÄÊý¾Ý¿âϵͳ£¬ËüÄܹ»´æ´¢ºÍ¹ÜÀíÈÎÒ⸴Ô Python ¶ÔÏ󣬲¢Ö§³ÖÊÂÎñ²Ù×÷ºÍ²¢·¢¿ØÖÆ¡£Æäʵ£¬ZODBÒ²ÒÀ¿¿Python µÄ±¾»úÐòÁл¯ÄÜÁ¦£¬¶øÇÒÒªÓÐЧµØÊ¹Óà ZODB£¬±ØÐë³ä·ÖÁ˽â pickle¡£
5. ×îºóÒ»Ö»ÖªµÀµÄ½â¾ö³Ö¾ÃÐÔÎÊÌâµÄ·½·¨ÊÇ Prevayler£¬PyPerSyst ½«Õû¸ö¶ÔÏóϵͳ±£´æÔÚÄÚ´æÖУ¬²¢Í¨¹ý²»Ê±µØ½«ÏµÍ³¿ìÕÕ pickle µ½´ÅÅÌÒÔ¼°Î¬»¤Ò»¸öÃüÁîÈÕÖ¾£¨Í¨¹ý´ËÈÕÖ¾¿ÉÒÔÖØÐÂÓ¦ÓÃ×îеĿìÕÕ£©À´ÌṩÔÖÄѻָ´¡£ËùÒÔ£¬¾¡¹ÜʹÓà PyPerSyst µÄÓ¦ÓóÌÐòÊܵ½¿ÉÓÃÄÚ´æµÄÏÞÖÆ£¬µ«ºÃ´¦ÊDZ¾»ú¶ÔÏóϵͳ¿ÉÒÔÍêȫװÈëµ½ÄÚ´æÖУ¬Òò¶øËٶȼ«¿ì£¬¶øÇÒʵÏÖÆðÀ´Òª±ÈÈç ZODB ÕâÑùµÄÊý¾Ý¿â¼òµ¥£¬ZODB ÔÊÐí¶ÔÏóµÄÊýÄ¿±ÈͬʱÔÚÄÜÄÚ´æÖÐËù±£³ÖµÄ¶ÔÏóÒª¶à¡£
±³¾°ÖªÊ¶£ºËü×î³õÊÇÓà Java ʵÏֵġ£ºóÀ´£¬Ò»Èº Python ³ÌÐòÔ±½« Prevayler ÒÆÖ²µ½ÁË Python ÉÏ£¬ÁíÆðÃûΪ PyPerSyst£¬ÓÉ SourceForge Íйܡ£Prevayler/PyPerSyst ¸ÅÄîÒ²Êǽ¨Á¢ÔÚ Java ºÍ Python ÓïÑԵı¾»úÐòÁл¯ÄÜÁ¦Ö®ÉÏ¡£
[1]: http://www.zope.org/Documentation/Articles/ZODB1
Ïà¹ØÎĵµ£º
½ñÌìÓÖɨÁËÒ»±éÊý×ÖÕâÒ»ÕÂ.. ¿´µ½ÁËround()º¯Êý, ÊÇÔÚpythonºËÐıà³Ì˼ÏëµÄ5.6.2½ÚµÄĩβ, ÔÎÄÈçÏÂ:
round(flt, ndig=0) ½ÓÊÜÒ»¸ö¸¡µãÊý flt ²¢¶ÔÆäËÄÉáÎåÈ룬±£´æ ndigλСÊý¡£
Èô²»Ìṩndig ²ÎÊý£¬ÔòĬÈÏСÊýµãºó0λ¡£
round()½öÓÃÓÚ¸¡µãÊý¡££¨ÒëÕß×¢£ºÕûÊýÒ²¿ÉÒÔ£¬ ²»¹ý²¢Ã»ÓÐʲô
ʵ¼ÊÒâÒ壩
Æäʵ, ×ö¸ö浄 ......
PEP 0263
Defining Python Source Code Encodings
Python will default to ASCII as standard encoding if no other
encoding hints are given.
To define a source code encoding, a magic comment must
be placed into the source files either as first or second
line in the file, suc ......
ΪÁËgoogleµÄgoogle appengine¶øÑ§Ï°python
·¢ÏÖËûÕæµÄ²»ÈçcÓïÑÔºÃѧ£¬µ¹²»ÊÇËûÄѶ®£¬¶øÊÇÏà¹ØÎĵµÌ«ÉÙ£¬¶øÇÒ²»¹æ·¶¡£
Ò²ÐíÊÇÎÒµÄÎÊÌâ°É£¬ÎÒ»¹ÊÇϲ»¶cÓïÑÔµÄÍ·Îļþ£¬»¹ÓÐmsdnµÄÄÇÖÖ°ïÖú¡£Ò»ÑÛ¾ÍÖªµÀʹÓ÷½·¨¡£
˵cÓïÑÔÄÑѧ£¬¿ÉÄÜÊÇÒòΪûÓÐ×Ðϸ¿´ÕâÁ½¸ö¶«Î÷°É ......
import Queue, threading, sys
from threading import Thread
import time,urllib
# working thread
class Worker(Thread):
worker_count = 0
def __init__( self, workQueue, resultQueue, timeout = 0, **kwds):
Thread.__init__( self, **kwds ) ......
#!/Library/Frameworks/Python.framework/Versions/2.5/bin/python
# encoding: utf-8
import sys, time
import thread
SLEEP_TIME = 0.0001
def run_benchmark(n, m):
# print(">> Python 2.5.1, stackless 3.1b3 here (N=%d, M=%d)!\n" % (n, m))
lock ......