execÓï¾äÓÃÀ´Ö´Ðд¢´æÔÚ×Ö·û´®»òÎļþÖеÄPythonÓï¾ä¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔÔÚÔËÐÐʱÉú³ÉÒ»¸ö°üº¬Python´úÂëµÄ×Ö·û´®£¬È»ºóʹÓÃexecÓï¾äÖ´ÐÐÕâЩÓï¾ä¡£ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó¡£
>>> exec 'print "Hello World"'
Hello World
evalÓï¾äÓÃÀ´¼ÆËã´æ´¢ÔÚ×Ö·û´®ÖеÄÓÐЧPython±í´ïʽ¡£ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó¡£
>>> eval('2*3')
......
>>> a="abcd"
>>> ",".join(a)
'a,b,c,d'
>>> "|".join(['a','b','c'])
'a|b|c'
>>> ",".join(('a','b','c'))
'a,b,c'
>>> ",".join({'a':1,'b':2,'c':3})
'a,c,b' ......
eval(str [,globals [,locals ]])º¯Êý½«×Ö·û´®strµ±³ÉÓÐЧPython±í´ïʽÀ´ÇóÖµ£¬²¢·µ»Ø¼ÆËã½á¹û¡£
ͬÑùµØ, execÓï¾ä½«×Ö·û´®strµ±³ÉÓÐЧPython´úÂëÀ´Ö´ÐÐ.Ìṩ¸øexecµÄ´úÂëµÄÃû³Æ¿Õ¼äºÍexecÓï¾äµÄÃû³Æ¿Õ¼äÏàͬ.
×îºó£¬execfile(filename [,globals [,locals ]])º¯Êý¿ÉÒÔÓÃÀ´Ö´ÐÐÒ»¸öÎļþ,¿´ÏÂÃæµÄÀý×Ó:
>>> eval('3+4')
7
>>> exec 'a=100'
>>> a
100
>>> execfile(r'c:\test.py')
hello,world!
>>>
ĬÈϵģ¬eval(),exec,execfile()ËùÔËÐеĴúÂ붼λÓÚµ±Ç°µÄÃû×Ö¿Õ¼äÖÐ. eval(), exec,ºÍ execfile()º¯ÊýÒ²¿ÉÒÔ½ÓÊÜÒ»¸ö»òÁ½¸ö¿ÉÑ¡×Öµä²ÎÊý×÷Ϊ´úÂëÖ´ÐеÄÈ«¾ÖÃû×Ö¿Õ¼äºÍ¾Ö²¿Ãû×Ö¿Õ¼ä. ÀýÈç:
1 globals = {'x': 7,
2 'y': 10,
3 'birds': ['Parrot', 'Swallow', 'Albatross']
4 }
5 locals = { }
6
7 # ½«ÉϱߵÄ×Öµä×÷Ϊȫ¾ÖºÍ¾Ö²¿Ãû³Æ¿Õ¼ä
8 a = eval("3*x + 4*y", globals, locals)
9 exec "for b in birds: print b" in globals, locals # ×¢ÒâÕâÀïµÄÓï·¨
10 execfile("foo.py", globals, locals)
Èç¹ûÄãÊ¡ÂÔÁËÒ»¸ö»òÕßÁ½¸öÃû³Æ¿Õ¼ä²ÎÊý,ÄÇôµ±Ç°µÄÈ«¾ÖºÍ¾Ö²¿Ãû³Æ¿Õ ......
Èç¹ûÄã¶ÔPython¾ØÕóתÖõÄʵ¼ÊÓ¦ÓòÙ×÷·½°¸µÄתÖò»ÖªµÀÈçºÎ½øÐÐÏÂÒ»²½Ê±£¬Äã¾ÍÄãÐèҪתÖÃÒ»¸ö¶þάÊý×é,½«Python¾ØÕóתÖõÄÐÐÁл¥»».
ÕâÑù¾Í¿ÉÒÔÍê³ÉÄãËùÐèÒªµÄÓ¦ÓòÙ×÷£¬ÒÔÏÂÊÇÎÄÕµľßÌå²Ù×÷¡£
ÄãÐèҪתÖÃÒ»¸ö¶þάÊý×é,½«ÐÐÁл¥»»£¬ÌÖÂÛ:ÄãÐèҪȷ±£¸ÃÊý×éµÄÐÐÁÐÊý¶¼ÊÇÏàͬµÄ.±ÈÈç:
arr
= [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
ÁбíµÝÍÆÊ½ÌṩÁËÒ»¸ö¼ò±ãµÄ¾ØÕóתÖõķ½·¨:
print [[r[col] for r in arr] for col in range(len(arr[0]))]
[[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
ÁíÒ»¸ö¸ü¿ìºÍ¸ß¼¶Ò»Ð©µÄ·½·¨,¿ÉÒÔʹÓÃzipº¯Êý:
print map(list, zip(*arr))
±¾½ÚÌṩÁ˹ØÓÚ¾ØÕóתÖõÄÁ½¸ö·½·¨,Ò»¸ö±È½ÏÇåÎú¼òµ¥,ÁíÒ»¸ö±È½Ï¿ìËÙµ«ÓÐЩÒþ»Þ.ÓÐʱºò,Êý¾Ýµ½À´µÄʱºòʹÓôíÎóµÄ·½Ê½,±ÈÈç,ÄãʹÓÃ΢ÈíµÄ
ADO½Ó¿Ú·ÃÎÊÊý¾Ý¿â,ÓÉÓÚPython¾ØÕóתÖÃ
ºÍMSÔÚÓïÑÔʵÏÖÉϵIJî±ð.
Getrows·½·¨ÔÚPythonÖпÉÄÜ·µ»ØµÄÊÇÁÐÖµ,ºÍ·½·¨µÄÃû³Æ²»Í¬.±¾½Ú ......
̸µ½ÁËPythonÓï¾äµÄÁ½ÖÖÖ´Ðз½Ê½£¬Êµ¼ÊÉÏ£¬ÕâÁ½ÖÖÔËÐз½Ê½ÔÚ±¾ÖÊ ÉÏÊÇÏàͬµÄ£¬ËüÃǶ¼ÊÇÓɽâÊÍÆ÷À´½âÊÍÖ´ÐÐÎÒÃÇÌṩµÄPythonÓï¾ä¡£ ÕâÀïËù˵µÄ½âÊÍÖ´ÐÐÊÇÏà¶ÔÓÚ±àÒëÖ´ÐжøÑԵġ£ÎÒÃÇÖªµÀ£¬Ê¹ÓÃÖîÈç C»òC++Ö®ÀàµÄ±àÒëÐÔÓïÑÔ±àдµÄ³ÌÐò¿ÉÒÔ´ÓÔ´Îļþת»»³É¼ÆËã»úʹÓà µÄ»úÆ÷ÓïÑÔ£¬ ¾Á¬½ÓÆ÷Á¬½ÓºóÐγɶþ½øÖÆ¿ÉÖ´ÐÐÎļþ¡£µ±ÎÒÃÇÔËÐжþ½øÖÆ¿ÉÖ´ÐÐ³Ì ÐòµÄʱºò£¬ÒòΪÒѾ±àÒëºÃÁË£¬ËùÒÔ¼ÓÔØÆ÷Èí¼þ°Ñ¶þ½øÖƳÌÐò´ÓÓ²ÅÌ ÔØÈëÄÚ´æÖв¢ÔËÐС£
ÓëÖ®²»Í¬£¬PythonÓïÑÔдµÄ³ÌÐò²»ÐèÒª±àÒë³É¶þ½øÖÆ´úÂ룬Ëü¿ÉÒÔÖ± ½Ó´ÓÔ´´úÂëÔËÐгÌÐò¡£µ±ÎÒÃÇÔËÐÐPythonÎļþ³ÌÐòµÄʱºò£¬ Python½âÊÍÆ÷°ÑÔ´´úÂëת»»³ÉÖмäÐÎʽ£º×Ö½ÚÂ룬ȻºóÔÙÓÉPythonÐé Äâ»úÀ´Ö´ÐÐÕâЩ×Ö½ÚÂ룬Èçͼ5Ëùʾ¡£ ÕâÑùµÄ»°£¬ÎÒÃǾÍÓò»×ŵ£ÐijÌÐòµÄ±àÒ룬¿âµÄÁ¬½Ó¼ÓÔØµÈÎÊÌâÁË£¬ ËùÓÐÕâЩ¹¤×÷¶¼ÓÉPythonÐéÄâ»ú´úÀÍÁË¡£ ¶ÔÓÚPythonµÄ½âÊÍÓïÑÔÌØÐÔ£¬ÎÒÃÇÒªÒ»·ÖΪ¶þµÄ¿´´ý¡£Ò»·½Ã棬ÿ´Î ÔËÐÐʱ¶¼Òª½øÐÐת»»³É ×Ö½ÚÂ룬ȻºóÔÙÓÉÐéÄâ»ú°Ñ×Ö½ÚÂëת»»³É»úÆ÷ÓïÑÔ£¬×îºó²ÅÄÜÔÚÓ²¼þ ÉÏÔËÐС£½ÏÖ®ÓÚ±àÒëÐÔ ±à³Ì ÓïÑÔ£¬Ã¿´ÎÔËÐж¼»á¶à³öÁ½µÀ¹¤Ðò£¬ËùÒÔËüµÄÐÔÄÜ»áÊܵ½Ó°Ïì¡£ÁíÒ» ·½Ã棬ÓÉÓÚ²»ÓùØÐÄ³Ì ÐòµÄ±àÒëÒÔ¼°¿âµÄÁ¬½ÓµÈÎÊÌ⣬ËùÒÔ¿ª·¢¹¤×÷»á± ......
½ñÌìÒ»ÉϿΣ¬´óÅ£ÀÏʦ¾Í¸ø´ó¼Ò³öÁËÒ»µÀÌ⣺
±à³Ì£ºÇë´Ó×Ö·û´®“goOoOogle”ÖÐÕÒ³öÒÔ“O”¿ªÍ·£¬²¢ÒÔ“O”½áÊøµÄ²¿·Ö¡£
“Õ⻹²»¼òµ¥£¬¿´ÎҵĔС²Ë²»Ò»»á¶ù¾Í¸ø³öÁ˴𰸣º
>>> s="goOoOogle"
>>> s.find("O")
2
>>> s.find("O",3)
4
>>> s[2:5]
'OoO'
>>>
“С²Ë°¡£¬ÄãÕ¦ÕâÃ´ÉµÄØ£¡”С°×²»½ûÔÚÐÄÀï̾Ϣ£¬“ÀÏʦ³öÕâµÀÌâ²»ÊÇÃ÷°Ú×Å¿¼ÎÒÃÇÕýÔò±í´ïʽÂ”
¹ûÈ»²»³öС°×µÄÔ¤ÁÏ£¬´óÅ£ÀÏʦÓÖ³öÁËÒ»µÀÌ⣺
Çë´Ó“goOoOogle”ÖÐÔÙÕÒ³öÁ¬ÐøµÄ“o”£¬²»·Ö´óСд¡£
“²»¾ÍÊÇÑ»·ÅжÏÂ¼ÌÐøfind”С²ËÓÖ¿ªÊ¼ÁË×Ô¼ºµÄËã·¨Ö®Âá£
“С°×£¬ÄãÀ´»Ø´ðһϔ´óÅ£¿´µ½Ð¡°×ºÃÏñÒѾÍê³É£¬±ãÈÃËû»Ø´ðһϡ£
“Õ⻹²»¼òµ¥Âð£¿ÓÃÕýÔòÆ¥Åäһϲ»¾ÍÐÐÁ˔С°×ÃþÁËÃþºóÄÔÉ×£¬“ÖÁÓÚ³ÌÐòÂï——»¹Ã»Ð´£¬ºÙºÙ¡£”
ÏÈ¿´¿´ÎÒÃǵē¼ÓÇ¿°æ”ÅÀ³æ£º
import chardet,urllib.request,urllib.parse,re
from sparrow.http.response import Response
class Crawler(object):
......