Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Python ´¦Àí×Ö½Ú


zz from: http://blog.sina.com.cn/s/blog_4b5039210100f1tu.html
Ô­ÎÄÓеãС´íÎ󣬸ÄÁËÒ»µãµã¡£
ÎÒÃÇÖªµÀpythonÖ»¶¨ÒåÁË6ÖÖÊý¾ÝÀàÐÍ£¬×Ö·û´®£¬ÕûÊý£¬¸¡µãÊý£¬ÁÐ±í£¬Ôª×飬×ֵ䡣µ«ÊÇCÓïÑÔÖÐÓÐЩ×Ö½ÚÐ͵ıäÁ¿£¬ÔÚpythonÖиÃÈçºÎʵÏÖÄØ£¿ÕâµãÆÄÎªÖØÒª£¬ÌرðÊÇÒªÔÚÍøÂçÉϽøÐÐÊý¾Ý´«ÊäµÄ»°¡£

pythonÌṩÁËÒ»¸östructÄ£¿éÀ´Ìṩת»»¡£ÏÂÃæ¾Í½éÉÜÕâ¸öÄ£¿éÖеö·½·¨¡£

struct.pack():

struct.packÓÃÓÚ½«PythonµÄÖµ¸ù¾Ý¸ñʽ·û£¬×ª»»Îª×Ö·û´®£¨ÒòΪPythonÖÐûÓÐ×Ö½Ú(Byte)ÀàÐÍ£¬¿ÉÒÔ°ÑÕâÀïµÄ×Ö·û´®Àí½âΪ×Ö½ÚÁ÷£¬»ò×Ö½ÚÊý×飩¡£Æäº¯ÊýÔ­ÐÍΪ£ºstruct.pack(fmt, v1, v2, ...)
£¬²ÎÊýfmtÊǸñʽ×Ö·û´®£¬¹ØÓÚ¸ñʽ×Ö·û´®µÄÏà¹ØÐÅÏ¢ÏÂÃæ
ÓÐËù½éÉÜ¡£v1, v2, ...±íʾҪת»»µÄpythonÖµ¡£ÏÂÃæµÄÀý×Ó½«Á½¸öÕûÊýת»»Îª×Ö·û´®£¨×Ö½ÚÁ÷£©:
>>> import struct
>>> a=20
>>> b=400
>>> str=struct.pack('ii',a,b)
#ת»»³É×Ö½ÚÁ÷£¬ËäÈ»»¹ÊÇ×Ö·û´®£¬µ«ÊÇ¿ÉÒÔÔÚÍøÂçÉÏ´«Êä
>>> print len(str)
#ii ±íʾÁ½¸öint
8
#¿ÉÒÔ¿´µ½³¤¶ÈΪ8¸ö×Ö½Ú£¬ÕýºÃÊÇÁ½¸öintÐÍÊý¾ÝµÄ³¤¶È
>>> print str

#¶þ½øÖÆÊÇÂÒÂë
>>> print repr(str)
'\x14\x00\x00\x00\x90\x01\x00\x00'
#ÆäÖÐÊ®Áù½øÖÆµÄ 0x00000014, 0x00000190·Ö±ð±íʾ20ºÍ400
>>>

ÓÉ´ËÎÒÃǾͿÉÒÔÈÎÒâµÄ½øÐÐ×é°üÁË£¬±ÈÈçÏÂÃæÒ»¸ö´ò°üµÄÀý×Ó£¬Ö»½éÉÜÆäÖеÄpack
 
format = "!HH%ds" % len(data)
buffer = struct.pack(format,opcode,blocknumber,data)

ÎÒÃÇÒª¶ÔÒ»¸öÊý¾Ý½øÐдò°ü£¬¼ÓÉÏһЩ¸ö°üÍ·£¬ÎÒÃǸù¾ÝÏÂÃæµÄ¸ñʽ·ûÐÅÏ¢£¬ÖªµÀHÊÇunsigned shortÊÇ2¸ö×Ö½Ú£¬¶øsÊÇcharÐÍ¡£ËùÒÔÕâ¸öbuffer¾ÍÊÇ2¸ö×Ö½ÚµÄopcode£¬2¸ö×Ö½ÚµÄblocknumber£¬ºÍlen³¤µÄchar¡£


struct.unpack():


ÎÒÃǽÓ×ÅÉÏÃæµÄÀý×ÓÔËÐУº
>>> a1,a2=struct.unpack('ii',str)
>>> print 'a1',a1
a1 20
>>> print 'a2=',a2
a2= 400
¿ÉÒÔ¿´µ½ “ii”ÒÔËĸö×Ö½ÚΪ·Ö½ç£¬°Ñ8¸ö×Ö½ÚµÄstr·Ö³ÉÁËÁ½¸öintÐ͵ÄÕûÊý¡£
struct.calcsize():ÓÃÀ´¼ÆËãÌØ¶¨¸ñʽµÄÊä³öµÄ´óС£¬ÊǼ¸¸ö×Ö½Ú£¬±ÈÈ磺
>>> struct.calcsize('HH4s')
8
>>> struct.calcsize('ii')
8
>


Ïà¹ØÎĵµ£º

Python Áбí

Python Áбí
listÊÇ´¦ÀíÒ»×éÓÐÐòÏîÄ¿µÄÊý¾Ý½á¹¹£¬¼´Äã¿ÉÒÔÔÚÒ»¸öÁбíÖд洢һ¸ö ÐòÁÐ µÄÏîÄ¿¡£¼ÙÏëÄãÓÐÒ»¸ö¹ºÎïÁÐ±í£¬ÉÏÃæ¼ÇÔØ×ÅÄãÒªÂòµÄ¶«Î÷£¬Äã¾ÍÈÝÒ×Àí½âÁбíÁË¡£Ö»²»¹ýÔÚÄãµÄ¹ºÎï±íÉÏ£¬¿ÉÄÜÿÑù¶«Î÷¶¼¶À×ÔÕ¼ÓÐÒ»ÐУ¬¶øÔÚPythonÖУ¬ÄãÔÚÿ¸öÏîĿ֮¼äÓöººÅ·Ö¸î¡£
ÁбíÖеÄÏîĿӦ¸Ã°üÀ¨ÔÚ·½À¨ºÅÖУ¬ÕâÑùPython¾ÍÖªµÀÄãÊ ......

PythonÖ®¸Ð

´ÓÈ¥Ä껹û±ÏÒµ¾Í½Ó´¥Python£¬ÉÏÖÜÓÐЩÎÞÁÄÖØÐÂÔÙ¿´Ò»±é£¬·¢ÏÖÆäȷʵ²»´í¡£Óï·¨¼òµ¥£¬Ò»¸öÏÂÎç»ù±¾Á˽⣬ʹÓÃPydev²å¼þÔÚEclipseÖнøÐпª·¢»ù±¾ÉÏûÓÐÈκÎÕϰ­¡£ÖصãÊÇÆäЧÂʺܸߣ¬²»Ðè±àÒëÖ±½ÓÔËÐС£±È½ÏÊʺϽøÐÐÊý¾ÝµÄÔ¤´¦Àí¡£²»´í£¬ÒÔºóÓлú»áºÃºÃÓÃÓᣠ......

´î½¨S60ÊÖ»ú¶ËPythonÈí¼þÔËÐÐ,¿ª·¢,·¢²¼Æ½Ì¨

µÚÒ»²½£º´î½¨ÊÖ»úÔËÐÐÆ½Ì¨
ÒªÔÚS60ÊÖ»úÉÏÔËÐÐPY¿ª·¢µÄÈí¼þ,Ê×ÏȾÍÒª´î½¨ÊÖ»úPYÔËÐл·¾³.ŵ»ùÑÇÊÖ»ú±¾Éí²»Ö§³ÖPython,ËùÒÔÒª°²×°Python²å¼þ.
PS£ºÒ»¶¨Òª°²×°ÔÚCÅÌ£¡ÎÒÒ»¿ªÊ¼×°E£¬½á¹û³öÏÖÁ˺ÜÑÏÖØµÄÎÊÌ⣡²»¹ý,×î½üÍøÉÏ·¢ÏÖÓÐEÅ̰æµÄÀ²,Äã¿ÉÒÔ×Ô¼ºÊÔÑéһϣ¬¹þ¹þ
PythonScriptShell_1_4_5_3rdEd.SIS
Pyth ......

Amusing Python 2: range/xrange

ÕâÁ½¸ö»ù±¾É϶¼ÊÇÔÚÑ­»·µÄʱºòÓá£
Python
´úÂë < type="application/x-shockwave-flash" width="14" height="15" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=for%20i% ......

ÒÔPython Imaging Library ½øÐÐÓ°Ïñ×ÊÁÏ´¦ÀíPIL


1   Ó°ÏñÓëͼÐÎ×ÊÁϵĴ¦Àí
ÌÖÂÛͼÐÎ(Ó°Ïñ) ±¾ÉíµÄ´¦Àí£¬¶øÌÖÂÛµÄÄÚÈݽ«»á¼¯ÖÐÔÚPython Imaging Library (PIL) ÕâÒ»Ì׳Ìʽ¿âÉÏ¡£
PIL ÊÇPython ÏÂ×îÓÐÃûµÄÓ°Ïñ´¦ÀíÌ×¼þ£¬ÓÉÐí¶à²»Í¬µÄÄ£×éËù×é³É£¬²¢ÇÒÌṩÁËÐí¶àµÄ´¦Àí¹¦ÄÜ£¬ÔÊÐíÎÒÃÇÔÚ¼òµ¥µÄPython ³ÌʽÀï½øÐÐÓ°ÏñµÄ´¦Àí¡£ Ê¹ÓÃÏñPIL ÐíÑùµÄ³Ìʽ¿âÌ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ