python¶¯Ì¬µ¼ÈëÄ£¿é¡¢¼ì²éÄ£¿éÊÇ·ñ°²×°
²Î¿¼Á´½Ó£ºhttp://www.woodpecker.org.cn/diveintopython/functional_programming/dynamic_import.html
Ò» ¶¯Ì¬µ¼ÈëÄ£¿é
PythonµÄimport²»ÄܽÓÊܱäÁ¿£¬ËùÒÔÓ¦¸ÃÓà __import__º¯ÊýÀ´¶¯Ì¬µ¼Èë¡£
ÈçϵĴúÂëÎÞ·¨Õý³£µ¼ÈëÄ£¿é
modules = ['OpenSSL', 'Crypto', 'MySQLdb', 'sqlite3', 'zope.interface', 'pyasn1', 'twisted', 'django']
for each in modules:
try:
import each
except Exception, e:
print e
ÕâÑùµ¼Èë»áÅ׳ö No module named each
µÄÒì³£
½« import each ¸ÄΪ __import__(each)¾Í¿ÉÒÔÕý³£µ¼ÈëÁË¡£
¶þ ¼ì²éÄ£¿éÊÇ·ñ°²×°
ʹÓÃ__import__º¯ÊýÒ²¿ÉÒÔÓÃÀ´¼ì²éÄ£¿éÊÇ·ñÒѰ²×°£¬ÂÔ΢ÐÞ¸ÄÉÏÃæµÄ´úÂë¼´¿É¡£
ʹÓÃimp.find_module()À´¼ì²é²»·½Ã棬Èçfind_module('zope.interface')»áÅ׳öÒì³£——ÒòΪÕâ¸öº¯ÊýÎÞ·¨²éÕÒ×ÓÄ£¿é¡£
Ä£¿é¼ÓÔØºó£¬¾Í¿ÉÒÔÔÚsys.moduleÕâ¸ö×ÖµäÀïÕÒµ½¼ÓÔØµÄÄ£¿éÃûÁË¡£
Ïà¹ØÎĵµ£º
Öð²½Ñݽø
f=open('/etc/motd','r')
longest=0
while True:
lineLen=len(f.readline().strip())
if not lineLen: break
if lineLen > longest:
longest=lineLen
f.close()
return longest
ÎÊÌâ£ºÒ»Ö±Õ¼Ó ......
¶à¸öÖ´ÐÐÏ߳̾³£Òª¹²ÏíÊý¾Ý£¬Èç¹û½ö½ö¶ÁÈ¡¹²ÏíÊý¾Ý»¹ºÃ£¬µ«ÊÇÈç¹û¶à¸öÏß³ÌÒªÐ޸Ĺ²ÏíÊý¾ÝµÄ»°¾Í¿ÉÄܳöÏÖÎÞ·¨Ô¤ÁϵĽá¹û¡£
¼ÙÈçÁ½¸öÏ̶߳ÔÏót1
ºÍt2
¶¼Òª¶ÔÊýÖµnum=0
½øÐÐÔö1ÔËË㣬ÄÇôt1
ºÍt2
¶¼¸÷¶Ônum
ÐÞ¸Ä10
´ÎµÄ»°£¬ÄÇônum
×îÖյĽá¹ûÓ¦¸ÃΪ20
¡£µ«ÊÇÈç¹ûµ±t1
È¡µÃnum
µÄֵʱ£¨¼ÙÈç´Ë ......
#Ö±½ÓÑ¡ÔñÅÅÐò
def SelectSort(mylist):
size = len(mylist)
i = 0
for i in range(0, size):
k = i
for j in range(i + 1, size):
if mylist[j] < mylist[k]:
k = j
if k != i:
tmp = mylist[i]
......
#¶ÑÅÅÐò
def Heapify(mylist, start, end):
left = 0
right = 0
maxv = 0
left = start * 2
right = start * 2 + 1
while left <= end:
maxv = left
if right <= end:
if mylist[left] < mylist[right]:
maxv = right
......
def MergeSort(mylist, low, mid, high):
i = low
j = mid + 1
tmp = []
while i <= mid and j <= high:
if mylist[i] <= mylist[j]:
tmp.append(mylist[i])
i = i + 1
else:
tmp.append(mylist[j])
j = j + 1
......