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

»°ËµPython£¨Áù£©Ð¡°×µÄʤÀû

 
    “¹þ¹þ£¡ÖªµÀÎÒ²Ù×÷Ö®ÍõС°×µÄÀ÷º¦ÁË°É£¡”
    ÿµ±ÖÜÁùÍíÉÏ£¬Ð¡°××ÜÊÇÒª¸úËÞÉáµÄµÜÐÖÌô¼¸¾ÖħÊÞ¡£Æ¾½è×Å·çɧµÄ×ßλºÍâ«ËöµÄÒâʶ£¬Ð¡°××ÜÊÇЦµÀ×îºó¡£Õâ²»£¬Ð¡°×ÓÖÒ»´ÎÈ¡µÃÁËÒÔÒ»µÐ¶þµÄʤÀû¡£
   “Ö÷ÒªÊǶàÏß²Ù×÷£¡”ÕâÊÇС°×¶Ô×Ô¼ºÊ¤ÀûµÄ×ܽᡣ
    ½ñÌìÎÒÃǾÍҪѧϰ¶àỊ̈߳¬¿´¿´Ð¡°×ÊÇÔõÑùʤÀûµÄ¡£
    Ê×ÏÈÎÒÃÇÒª³ÎÇåµÄÊÇPythonµÄ¶àÏ̲߳¢²»ÊÇÀûÓÃϵͳ±¾ÉíµÄ¶àÏ̻߳úÖÆ£¬¶øÊÇ»ùÓÚPython½âÊÍÆ÷£¬Êµ¼ÊÔÚϵͳ¿´À´»¹ÊÇÒ»¸öÏ̡߳£ÔÚPythonÖУ¬´æÔÚÒ»¸öGlobal Interpreter Lock(GIL)£¬¼´È«¾Ö½âÊÍÆ÷Ëø£¬ËüµÄ×÷ÓÃÔÚÓÚÈÃͬһʱ¿ÌÖ»ÄÜÓÐÒ»¸öÏ̶߳ÔÓÚpython¶ÔÏó½øÐвÙ×÷¡£ËùÒÔPythonµÄ¶àÏß³ÌÎÞ·¨³ä·ÖÀûÓöàºËCPU£¬ÉõÖÁµ¥ºËCPU£¬Õâ¿ÉÒÔ˵ÊǽâÊÍÓïÑÔµÄͨ²¡¡£ÓÐʱ¿ÉÒÔͨ¹ý´´½¨¶à¸ö½ø³Ì£¨¶ø²»ÊÇỊ̈߳©£¬»òÕßʹÓÃJython°æ±¾À´½â¾ö¡£
    ¶àÏ̴߳øÀ´µÄȱµã£º1¡¢´úÂë±àдÄѶȼӴ󣬶àÏß³ÌÖ®¼äµÄÇÀÕ¼ÈÝÒײúÉú´íÎ󣬳öÏÖÒì³££»2¡¢Ïß³ÌÖ®¼äµÄÇл»Í¬Ñù»á¼Ó´óCPUºÍÄÚ´æµÄ¸ºµ£¡£
ÎÞÂÛÈçºÎ£¬¶àÏ̻߳¹ÊÇÖµµÃһѧµÄ£¬ÒòΪËüÓÐÒ»¸ö²»¿ÉºöÊÓµÄÓŵ㣺ִÐÐËٶȿ죬ÇмDz»ÄÜÀÄÓ᣶àÏß³ÌÖ÷ÒªÓ¦ÓÃÔÚI/OÃܼ¯Ð͵ijÌÐòÖУ¬ÒòΪÔÚÊäÈëÊä³öº¯Êý»á¸ü¶àµØµ÷ÓÃÄÚ½¨µÄC¼¶´úÂ룬¶ø²»ÊÇPython¼¶´úÂë¡£
ÎÒÃÇҪѧϰµÄÄ£¿éÊÇthreading£¬¶ø²»ÊÇthread£¬ÒòΪthreading¸üΪ¸ß¼¶¡£ÍƼöʹÓü̳Ðthreading.ThreadÀàÀ´´´½¨Ï̡߳£
hello world Ḭ̈߳棺
import threading
class WorkerThread(threading.Thread): #¼Ì³Ð×ÔThread
def __init__(self):
threading.Thread.__init__(self) #¼Ì³ÐThread¹¹Ô캯Êý
def run(self): #ÖØдrun()º¯Êý
print("hello world!")
if __name__=="__main__":
myThread=WorkerThread() #´´½¨¶ÔÏó
myThread.start() #start()·½·¨»á×Ô¶¯ÔËÐÐrun()

µ÷ÓÃstart()·½·¨ºó£¬Ï߳̾ͻá×Ô¶¯ÔËÐУ¬Á¬Ðø´´½¨¶à¸ö¶ÔÏó¾Í»á±ä³É¶àÏ̡߳£
    ÉÏÎÄÌáµ½£¬¶àÏ̵߳ÄÒ»¸öȱµãÊǶԹ²ÏíµÄÊý¾ÝÇÀÕ¼Ôì³É³ÌÐò´íÎó¡£PythonÌṩÁ˺ܶàÏß³Ìͬ²½Ô­ÓÈçʱ¼ä£¬ËøµÈ¡£“µ±ÕâЩѡÏî´æÔÚʱ£¬×î¼Ñʵ¼ùÊÇת¶ø¹Ø×¢ÓÚʹÓöÓÁС£Ïà±È½Ï¶øÑÔ£¬¶ÓÁиüÈÝÒ×´¦Àí£¬²¢ÇÒ¿ÉÒÔʹµÃÏ̱߳à³Ì¸ü¼Ó°²È«£¬ÒòΪËüÃÇÄܹ»ÓÐЧµØ´«Ë͵¥¸öÏ̶߳Ô×ÊÔ´µÄËùÓÐ


Ïà¹ØÎĵµ£º

ÓÃEclipse±àÒëÏòsqliteÊý¾Ý¿â²åÈëÊý¾ÝµÄpython³ÌÐò

½ñÌìÓöµ½ÁËÂé·³£º
      ÓÃEclipse±àÒëpythonÏòsqliteÊý¾Ý¿â²åÈëÊý¾Ý×ÜÊÇÌáʾ±àÂëµÄÎÊÌ⣬ÎÒÉèÖÃÁËEclipseµÄworkspaceÓÃutf-8±àÂ뻹ÊDz»ÐÐ
µ«ÊÇÓÃEclipseдµÄ³ÌÐò±£´æÔÙÓÃIDLE´ò¿ªÈ´ÄܱàÒ룬Ææ¹ÖÁË
ÎÒ¿¼Âǵ½¿ÉÄÜÊÇÅäÖõÄÔ­Òò£¬ÕÒÕÒ±éÁËËùÓеÄÅäÖ㬶¼Ã»ÓÐÎÊÌ⣬°üÀ¨¹¤³ÌÎļþ
×îºóÎÒÓÃxvi32´ò¿ ......

LINUXƽ̨²¿Êðapache+mod_python+django


ǰһƪÎÄÕÂдµÄÔÚAPACHE°²×°MOD_PYTHONµÄ¾­¹ý,Æäʵͦ¼òµ¥,¾ÍÊÇ°æ±¾²»¼æÈݵÄÎÊÌâ.Õâ´ÎÎÒ´ó¸Å˵ϲ¿ÊðDJANGOµÄ¹ý³Ì.
ÏÈÐÞ¸ÄAPACHEÅäÖÃÎļþ,ʹÆä¼ÓÔØmod_pythonÄ£¿é
LoadModule python_module libexec/mod_python.so
ÔËÐÐÃüÁî²é¿´
bin/httpd -M¿ÉÒÔ¿´µ½
 python_module (shared)
Syntax OK
˵Ã÷apacheÒѾ­³É¹¦¼Ó ......

»°ËµPython£¨Î壩¿ªÊ¼Æð·É°É

    С°×¶ÔÉϽڿÎÀïµÄ“СÂéȸ”ÐËȤ°»È»£¬ÕûÌì¾ÍÔÚËÞÉáµ·¹Ä¡£Õâ²»£¬¼¸ÌìÏÂÀ´ËûÒѾ­¹¥ÏÂÊ®¼¸¸öÍøÕ¾ÁË¡£
С²Ëȴϲ»¶Ò»¸öÈË×øÔÚµçÄÔÅԱߣ¬Öå×Åüͷ£¬ÐÀÉÍ×ÅÕâÒ»ÐÐÐÐ×Ô¼º¿´²»¶®µÄ´úÂë¡£“ÕâЩ×Ö·ûºÃ¹ÖÒìѽ£¡”С²ËÍá×ÅÍ·£¬“ËüΪɶ½ÐÕýÔò±í´ïʽÄØ£¿”
°Ù¶Èһϣ¬ÖÕÓÚÖªµÀ¡£Ð¡² ......

pythonÖÐpackage»úÖƵÄÁ½ÖÖʵÏÖ·½Ê½


µ±Ö´ÐÐimport
moduleʱ£¬½âÊÍÆ÷»á¸ù¾ÝÏÂÃæµÄËÑË÷·¾¶£¬ËÑË÷module1.pyÎļþ¡£
1) µ±Ç°¹¤×÷Ŀ¼
2) PYTHONPATHÖеÄĿ¼
3) Python°²×°Ä¿Â¼
(/usr/local/lib/python)
ÊÂʵÉÏ£¬Ä£¿éËÑË÷ÊÇÔÚ±£´æÔÚsys.pathÕâ¸öÈ«¾Ö±äÁ¿ÖеÄĿ¼ÁбíÖнøÐÐËÑË÷¡£
sys.path»áÔÚ½âÊÍÆ÷¿ªÊ¼Ö´ÐÐʱ±»³õʼ»¯³É°üº¬£º
1)µ±Ç°¹¤×÷Ŀ¼
2) PYT ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ