python°²×°Ö®setuptools
David ÔÚ±¾ÎÄÖн«´øÁìÎÒÃÇÁ˽âһϠsetuptools ¿ò¼Ü£¬ËüÊÇ Python Enterprise Application Kit£¨PEAK£©µÄÒ»¸ö¸±ÏîÄ¿¡£ setuptools Ìæ»»Á˱ê×¼µÄ distutils ¿â£¬²¢Îª Python Ìí¼ÓÁ˰汾»¯µÄ°üºÍÒÀÀµÐÔ¹ÜÀí¡£Perl Óû§±È½ÏÊìϤ CPAN£¬¶ø Ruby Óû§Ôò±È½ÏÊìϤ Gems£»Òýµ¼ setuptools µÄ ez_setup ¹¤¾ßºÍËæÖ®¶øÉúµÄÀ©Õ¹ºóµÄ easy_install Óë “Cheeseshop”£¨Python Package Index£¬Ò²³ÆÎª “PyPI”£©Ò»Æð¹¤×÷À´ÊµÏÖÏàͬµÄ¹¦ÄÜ¡£ÁíÍ⣬setuptools »¹ÈÃÎÒÃÇ¿ÉÒÔ½«×Ô¼ºµÄ¿â°ü×°³ÉÒ»¸ö³ÆÎª “egg” µÄ°ü£¬ËüÓë Java™ µÄ JAR ÎļþÀàËÆ£¬²»¹ýÊÇÓÃÓÚ Python µÄ¡£
Python Enterprise Application Kit£¨PEAK£©µÄ»ù´¡ÖªÊ¶ÔÚ±¾×¨À¸µÄǰÁ½²¿·ÖÖÐÒѾ½øÐÐÁ˽éÉÜ£º“¿É°®µÄ Python: Python Enterprise Application Kit” ºÍ “ÉîÈë PEAK µÄÐÂÌØÐÔ”¡£¼ò¶øÑÔÖ®£¬PEAK ÊÇÓÃÀ´ÔÚ Python ÖнøÐпìËÙ×é¼þ¿ª·¢ºÍ´úÂëÖØÓõÄÇ¿´ó¿ò¼Ü¡£
±¾ÎĽéÉÜÁË setuptools ¿ò¼ÜµÄÄÚÈÝ£¬ËüÊÇ PEAK µÄÒ»¸ö¸±ÏîÄ¿£¬ËüÌṩÁË±È distutils ¸ü¼Ó¼òµ¥µÄ°ü¹ÜÀíºÍ·¢Ðй¦ÄÜ¡£
¿ªÊ¼
setuptools Ä£¿éºÜ»á “¹æ±Ü”¡£ÀýÈ磬Èç¹ûÎÒÃÇÏÂÔØÒ»¸öʹÓà setuptools ¶ø²»ÊÇʹÓà distutils ¹¹½¨µÄ°ü£¬ÄÇô°²×°¾ÍÓ¦¸Ã¿ÉÒÔÏñÎÒÃÇÆÚÍûµÄÒ»Ñù¹¤×÷£ºÍ¨³£Ê¹Óà python setup.py install ¾Í¿ÉÒÔ¡£ÎªÁËʵÏÖÕâÖÖ¹¦ÄÜ£¬Ê¹Óà setuptools °ó¶¨ÔÚÒ»ÆðµÄ°ü¾Í»áÔڹ鵵ÎļþÖаüº¬Ò»¸öºÜСµÄÒýµ¼Ä£¿é ez_setup.py¡£´Ë´¦Î©Ò»ÐèҪעÒâµÄÊÇ ez_setup.py ÊÔͼÔÚºǫ́ÏÂÔØ²¢°²×°ËùÐèÒªµÄ setuptools —— µ±È»£¬ÕâÐèÒªÓÐÒ»¸öÁ¬½ÓÍøÂçµÄ»úÆ÷¡£Èç¹û setuptools ÔçÒÑÔÚ±¾µØ»úÆ÷Éϰ²×°ÁË£¬ÄÇôÕâ¸öºǫ́²½Öè¾Í²»ÔÙÐèÒªÖ´ÐУ»µ«ÊÇÈç¹ûËüÐèÒªÊÖ¹¤½øÐа²×°£¬ÄÇôºÜ¶à͸Ã÷ÐԾͶ¼¶ªÊ§ÁË¡£²»¹ý£¬´ó²¿·ÖϵͳÏÖÔÚ¶¼ÓÐÒ»¸ö Internet Á¬½ÓÁË£»ÎªÃ»ÓÐÁ¬½ÓÍøÂçµÄ»úÆ÷¶àÖ´Ðм¸¸öÌØÊâ²½ÖèÒ²²¢·ÇÌØ±ðÂé·³¡£
setuptools µÄÕæÕýÓŵ㲢²»ÔÚÓÚʵÏÖ distutils ËùÄÜʵÏֵŦÄÜ —— ¾¡¹ÜËü µÄÈ· ÔöÇ¿ÁË distutils µÄ¹¦Äܲ¢¼ò»¯ÁË setup.py ½Å±¾ÖеÄÄÚÈÝ¡£setuptools ×î´óµÄÓÅÊÆÊÇËüÔÚ°ü¹ÜÀíÄÜÁ¦·½ÃæµÄÔöÇ¿¡£Ëü¿ÉÒÔʹÓÃÒ»ÖÖ¸ü¼Ó͸Ã÷µÄ·½·¨À´²éÕÒ¡¢ÏÂÔØ²¢°²×°ÒÀÀµ°ü£»²¢¿ÉÒÔÔÚÒ»¸ö°üµÄ¶à¸ö°æ±¾ÖÐ×ÔÓɽøÐÐÇл»£¬ÕâЩ°æ±¾¶¼°²×°ÔÚͬһ¸öϵͳÉÏ£»Ò²¿ÉÒÔÉùÃ÷¶Ôij¸ö°üµÄÌØ¶¨°æ±¾µÄÐèÇó£»»¹¿ÉÒÔֻʹÓÃÒ»¸ö¼òµ¥µÄÃüÁî¾ÍÄܸüе½Ä³¸ö°üµÄ×îа
Ïà¹ØÎĵµ£º
²»¶à˵ÁË£¬Ö±½Ó¿´´úÂë°É£¡
import os
path = 'e:/Download/'
kzm = []
kzmTemp = set()
kzmTemp2 = []
dict = {}
for root,dirs,files in os.walk(path):
for file in files:
ext = os.path.splitext(file)[1][1:]
  ......
Python ÓÃÏ»®Ïß×÷Ϊ±äÁ¿Ç°×ººÍºó׺ָ¶¨ÌØÊâ±äÁ¿¡£
_xxx
²»ÄÜÓÃ'from module import *'µ¼Èë
__xxx__ ϵͳ¶¨ÒåÃû×Ö
__xxx
ÀàÖеÄ˽ÓбäÁ¿Ãû
ºËÐÄ·ç¸ñ£º±ÜÃâÓÃÏ»®Ïß×÷Ϊ±äÁ¿ÃûµÄ¿ªÊ¼¡£
ÒòΪÏ»®Ïß¶Ô½âÊÍÆ÷ÓÐÌØÊâµÄÒâÒ壬¶øÇÒÊÇÄÚ½¨±êʶ·ûËùʹÓõķûºÅ£¬ÎÒÃǽ¨Òé³ÌÐò ......
±ê׼ͷ²¿
#!/usr/bin/python
±àÂë
ËùÓÐµÄ Python ½Å±¾Îļþ¶¼Ó¦ÔÚÎļþÍ·±êÉÏ #-*- coding:utf8 -*- ¡£ÉèÖÃ±à¼Æ÷£¬Ä¬Èϱ£´æÎª utf8 ¸ñʽ¡£
mainº¯Êý
Ó¦ÓóÌÐòÒª¶¨Òåmainº¯Êý¶ø²»ÒªÖ±½Óд½Å±¾
def main():
dosomething()
if
__name__ == "__main__"
:
main()
Èç¹ûÊÇÈ«¾Ö±äÁ¿£¬ÔòÐèÒªÏÔʽ¼ÓÉ ......
ÎÒÖªµÀµÄÒ»ÖÖÔÚ
python
ÖÐ
Singleton mode
µÄʵÏÖÈçÏ£º
class Foo: pass
def
instance():
global inst
try:
inst
except:
inst =
Foo
()
&n ......
PythonÖÐRangeºÍXRangeµÄÇø±ð(Difference between Range and XRange in Python)
×î½ü»úÆ÷³öÁ˵ãÎÊÌ⣬ËùÒÔһֱûÓÐдÐµĶ«Î÷³öÀ´¡£Ö®Ç°ÔÚ¶ÁPythonµÄ´úÂëµÄʱºò£¬·¢¾õºÃ¶àÈËϲ»¶ÓÃXRange£¬¶ø²»ÊÇRange£¬ÎÒÒ²Ö»ÊǼǵÃѧϰµÄʱºò¿ªÊ¼Ñ§µ½µÄÊÇRange£¬ºóÃæÓÖ¿´µ½ÓиöXRange£¬µ±Ê±Ò²Ã»ÓÐÉ£¬ÎªÊ²Ã´PythonÀïÃæÒªÓÐÁ½¸öͬÑùµÄ¹¦ ......