pythonʹÓÃSocketServers
SocketServersÄ£¿éΪһ×ésocket·þÎñÀඨÒåÁËÒ»¸ö»ùÀ࣬Õâ×éÀàѹËõºÍÒþ²ØÁ˼àÌý¡¢½ÓÊܺʹ¦Àí½øÈëµÄsocketÁ¬½ÓµÄϸ½Ú¡£
1¡¢SocketServers¼Ò×å
TCPServerºÍUDPServer¶¼ÊÇSocketServerµÄ×ÓÀ࣬ËüÃÇ·Ö±ð´¦ÀíTCPºÍUDPÐÅÏ¢¡£
×¢Ò⣺SocketServerÒ²ÌṩUnixStreamServer(TCPServerµÄ×ÓÀà)ºÍUNIXdatagramServer(UDPServerµÄ×ÓÀà)£¬ËüÃǶ¼ÈçͬÆ丸ÀàÒ»Ñù³ýÁËÔÚ´´½¨¼àÌýsocketʱʹÓÃAF_UNIX´úÌæÁËAF_INET¡£
ĬÈÏÇé¿öÏ£¬socket·þÎñÒ»´Î´¦ÀíÒ»¸öÁ¬½Ó£¬µ«ÊÇÄã¿ÉÒÔʹÓÃThreadingMixINºÍForkingMixInÀàÀ´´´½¨ÈÎÒ»SocketServerµÄÏ̺߳Í×Ó½ø³Ì¡£Êµ¼ÊÉÏ£¬SocketServerÄ£¿éÌṩÁËһЩ¶ÔЩÓÐÓõÄÀàÀ´½â¾öÄãµÄÂé·³£¬ËüÃÇÊÇ£ºForkingUDPServer¡¢ForkingTCPServer¡¢ThreadingUDPServer¡¢ThreadingTCPServer¡¢ThreadingUnixStreamServerºÍThreadingUnixDatagramServer¡£
SocketServerÒÔͨ³£µÄ·½·¨´¦Àí½øÈëµÄÁ¬½Ó£»ÒªÊ¹Ëü¸üÓÐÓã¬ÄãÓ¦¸ÃÌṩÄã×Ô¼ºµÄÇëÇó´¦ÀíÆ÷Àà¸øËüÒÔ±ãËü´«µÝÒ»¸ösocketÈ¥´¦Àí¡£SocketServerÄ£¿éÖеÄBaseRequestHandlerÀàÊÇËùÓÐÇëÇó´¦ÀíÆ÷µÄ¸¸Àà¡£¼ÙÉ裬ÀýÈçÄãÐèҪдһ¸ö¶àÏ̵߳ĵç×ÓÓʼþ·þÎñÆ÷£¬Ê×ÏÈÄãÒª´´½¨Ò»¸öMailRequestHandler£¬ËüÊÇBaseReques ......
¡¡¡¡ÉÏ´Îѧϰ¹ýmarshalÄ£¿éÓÃÓÚÐòÁл¯ºÍ·´ÐòÁл¯£¬µ«marshalµÄ¹¦ÄܱȽϱ¡Èõ£¬Ö»Ö§³Ö²¿·ÖÄÚÖÃÊý¾ÝÀàÐ͵ÄÐòÁл¯/·´ÐòÁл¯£¬¶ÔÓÚÓû§×Ô¶¨ÒåµÄÀàÐ;ÍÎÞÄÜΪÁ¦£¬Í¬Ê±marshal²»Ö§³Ö×ÔÒýÓÃ(µÝ¹éÒýÓÃ)µÄ¶ÔÏóµÄÐòÁл¯¡£ËùÒÔÖ±½ÓʹÓÃmarshalÀ´ÐòÁл¯/·´ÐòÁл¯¿ÉÄܲ»ÊǺܷ½±ã¡£»¹ºÃ£¬python±ê×¼¿âÌṩÁ˹¦Äܸü¼ÓÇ¿´óÇÒ¸ü¼Ó°²È«µÄpickleºÍcPickleÄ£¿é¡£ ¡¡¡¡cPickleÄ£¿éÊÇʹÓÃCÓïÑÔʵÏֵģ¬ËùÒÔÔÚÔËÐÐЧÂÊÉϱÈpickleÒª¸ß¡£µ«ÊÇcPickleÄ£¿éÖж¨ÒåµÄÀàÐͲ»Äܱ»¼Ì³Ð£¨Æäʵ´ó¶àÊýʱºò£¬ÎÒÃDz»ÐèÒª´ÓÕâЩÀàÐÍÖм̳С££©¡£cPickleºÍpickleµÄÐòÁл¯/·´ÐòÁл¯¹æÔòÊÇÒ»ÑùµÄ£¬ÎÒÃÇ¿ÉÒÔʹÓÃpickleÐòÁл¯Ò»¸ö¶ÔÏó£¬È»ºóʹÓÃcPickleÀ´·´ÐòÁл¯¡£Í¬Ê±£¬ÕâÁ½¸öÄ£¿éÔÚ´¦Àí×ÔÒýÓÃÀàÐÍʱ»á±äµÃ¸ü¼Ó¡°´ÏÃ÷¡±£¬Ëü²»»áÎÞÏÞÖƵĵݹéÐòÁл¯×ÔÒýÓöÔÏ󣬶ÔÓÚͬһ¶ÔÏóµÄ¶à´ÎÒýÓã¬ËüÖ»»áÐòÁл¯Ò»´Î¡£ÀýÈ磺 1 import marshal, pickle 2 3 list = [1] 4 list.append(list) 5 byt1 = marshal.dumps(list) #³ö´í, ÎÞÏÞÖƵĵݹéÐòÁл¯ 6 byt2 = pickle.dumps(list) #No problem pickleµ ......
ÔÚÍøÉÏËѲ»µ½¹ØÓÚ Ascii ºÍ bcd»¥Ïàת»¯µÄÎÄÕ£¬ÓÚÊÇ×Ô¼ºÐ´ÁËÒ»¸ö£¬ºÍ´ó¼Ò·ÖÏíÏ¡£
ûÓп¼Âǵ½Ð§ÂÊ£¬Äܹ»ÓÅ»¯µÄµØ·½Íû´ó¼ÒÌá³ö
"""
AscII×Ö·ûת»»ÎªBCD×Ö·û
"""
def asc2bcd(inAsc, pad_L0_R1 = 0):
#È«²¿×ª»»Îª´óд£¬ÎªºóÃæµÄת»»Ìṩ·½±ã
inAsc = inAsc.upper()
print inAsc
#ÅжÏÈç¹û·ÇżÊý¸ö×Ö·ûʱ£¬×ó²¹0£¬»¹ÊÇÓÒ²¹0
import copy
if(len(inAsc)%2 == 1):
if(pad_L0_R1 == 0):
inAsc = copy.copy('0'+inAsc)
if(pad_L0_R1 == 1):
inAsc = copy.copy(inAsc+'0')
#¼ì²âÊäÈëµÄp×Ö·û´®ÖÐÊÇ·ñ¶¼Îª0-9 a-f A-F ÖеÄ×Ö·û
for i in inAsc:
& ......
1. Basic
²Î¿¼¡¶PythonÕýÔò±í´ïʽ²Ù×÷Ö¸ÄÏ¡·
Ä£¿ére£¬perl·ç¸ñµÄÕýÔò±í´ïʽ
regex²¢²»Äܽâ¾öËùÓеÄÎÊÌ⣬ÓÐʱºò»¹ÊÇÐèÒª´úÂë
regex»ùÓÚÈ·¶¨ÐԺͷÇÈ·¶¨ÐÔÓÐÏÞ×Ô¶¯»ú
2. ×Ö·ûÆ¥Åä(ÑÐò½¥½ø)
Ôª×Ö·û
. ^ $ * + ? { [ ] \ | ( )
1) "[" ºÍ "]"³£ÓÃÀ´Ö¸¶¨Ò»¸ö×Ö·ûÀà±ð£¬Ëùν×Ö·ûÀà±ð¾ÍÊÇÄãÏëÆ¥ÅäµÄÒ»¸ö×Ö·û¼¯¡£Èç[abc]»òÕß[a-c]¡£Àà±ðÖв»Ðè·Ö¸ô·ûÖ®ÀàµÄ¶«Î÷
Ôª×Ö·ûÔÚÀà±ðÀï²¢²»Æð×÷Óá£ÀýÈ磬[akm$]½«Æ¥Åä×Ö·û"a", "k", "m", »ò "$" ÖеÄÈÎÒâÒ»¸ö£»"$"ͨ³£ÓÃ×÷Ôª×Ö·û£¬µ«ÔÚ×Ö·ûÀà±ðÀÆäÌØÐÔ±»³ýÈ¥£¬»Ö¸´³ÉÆÕͨ×Ö·û¡£
2) ^
²¹¼¯¡£°Ñ"^"×÷ΪÀà±ðµÄÊ׸ö×Ö·û£»ÆäËüµØ·½µÄ"^"Ö»»á¼òµ¥Æ¥Åä "^"×Ö·û±¾Éí¡£ÀýÈ磬[^5] ½«Æ¥Åä³ý "5" Ö®ÍâµÄÈÎÒâ×Ö·û¡£
3) \
ºÜÅ££¡
\d Æ¥ÅäÈκÎÊ®½øÖÆÊý£»ËüÏ൱ÓÚÀà [0-9]¡£
\D Æ¥ÅäÈκηÇÊý×Ö×Ö·û£»ËüÏ൱ÓÚÀà [^0-9]¡£
\s Æ¥ÅäÈκοհ××Ö·û£»ËüÏ൱ÓÚÀà [ \t\n\r\f\v]¡£
\S Æ¥ÅäÈκηǿհ××Ö·û£»ËüÏ൱ÓÚÀà [^ \t\n\r\f\v]¡£
\w Æ¥ÅäÈκÎ×ÖĸÊý×Ö×Ö·û£»ËüÏ൱ÓÚÀà [a-zA-Z0-9_]¡£
\W Æ¥ÅäÈκηÇ×ÖĸÊý×Ö×Ö·û£»ËüÏ൱ÓÚÀà [^a-zA-Z0-9_]¡£
4) .
. Æ¥Åä³ýÁË»»ÐÐ×Ö·ûÍâµÄÈκÎ× ......
PythonÖеÄeasy_install¹¤¾ßºÜºÃÓã¬ËüµÄ×÷ÓÃÀàËÆÓÚPhpÖеÄpear£¬»òÕßRubyÖеÄgem£¬»òÕßPerlÖеÄcpan¡£
Èç¹ûÏëʹÓÃeasy_install¹¤¾ß£¬¿ÉÒÔÖ±½Ó°²×°ez_setup.py
½Å±¾£¬ÔÙpython ez_setup.py£¨Ö®Ç°ÏÈÒª°²×°python£©£º
°²×°Íêºó£¬×îºÃÈ·±£easy_installËùÔÚĿ¼ÒѾ±»¼Óµ½PATH»·¾³±äÁ¿Àï:
Windows: C:\Python25\Scripts
Linux: /usr/local/bin
±ÈÈç˵Ҫ°²×°PythonµÄMySQLÖ§³Ö£¬¿ÉÒÔÖ´ÐÐÈçÏÂÃüÁϵͳ»á×Ô¶¯ÔÚpypi
ÍøÕ¾ÁбíÀï²éÕÒÏà¹ØÈí¼þ°ü£¬²¢Ñ¡ÔñºÏÊʵİ汾£º
easy_install MySQL-python
ͨ¹ýeasy_install°²×°Èí¼þ£¬Ïà¹Ø°²×°ÐÅÏ¢»á±£´æµ½easy-install.pthÎļþÀ·¾¶ÀàËÆÈçÏÂÐÎʽ£º
Windows£ºC:\Python25\Lib\site-packages\easy-install.pth
Linux£º/usr/local/lib/python25/site-packages/easy-install.pth
Èç¹ûÏëɾ³ýͨ¹ýeasy_install°²×°µÄÈí¼þ°ü£¬±ÈÈç˵£ºMySQL-python£¬¿ÉÒÔÖ´ÐÐÃüÁ
easy_install -m MySQL-python
´Ë²Ù×÷»á´Óeasy-install.pthÎļþÀï°ÑMySQL-pythonµÄÏà¹ØÐÅϢĨȥ£¬Ê£ÏµÄeggÎļþ£¬Äã¿ÉÒÔÊÖ¶¯É¾³ý¡£
¶ÔÓÚÒѾÏÂÔØÁ˵Äpython°ü£¬easy_installÒ²¿ÉÒÔ°²×°£¬Ö»Òª½øÈëÈí¼þ°üĿ¼£¬È»ºó“easy_install .”¼´¿É
¸ü¶àʹÓ÷½·¨²Î¼ûpe ......
djangoproject python 3 prog python code http://wiki.python.org/moin/WebBrowserProgramming http://wiki.woodpecker.org.cn/moin/ http://www.okpython.com/viewlist-fid-5.html http://zh.wikipedia.org/wiki/CPython django doc douban ibm python doc ibm python zope http://www.czug.org/ http://www.apolov.com/what.php?tags=Django launchpad.ubuntu.com ......