×î½üÔÚÓÃPython´¦ÀíһЩÊý¾Ý£¬Êý¾ÝÐèÒª´æ´¢µ½MySQLÊý¾Ý¿âÖУ¬²ÉÓÃMySQLdbÀ´½øÐÐÊý¾Ý¿âµÄ²Ù×÷£¬µ«ÊDZ»Ò»¸öÎÊÌâÀ§ÈÅÁ˺ܾá£ÔÚ´ò¿ªÊý¾Ý¿âµÄʱºòMySQLdb.connect(self.host, self.user, self.password, self.database, port=self.port)³öÒì³££¬¶øÇÒÒì³£³öÏÖµÄλÖ÷dz£Ææ¹Ö¡£
³öÏÖÔÚconverters.py 164ÐÐ
from decimal import Decimal
½øÈ¥Ö®ºó·¢ÏÖ³ö´íµÄλÖÃÔÚdecimal.pyÎļþÖÐ5833Ðгö´í
import re
_parser = re.compile(r""" # A numeric string consists of:
# \s*
(?P<sign>[-+])? # an optional sign, followed by either...
(
(?=\d|\.\d) # ...a number (with at least one digit)
(?P<int>\d*) &n ......
ÉÏһƪÖÐÎÒÃÇÔÚpython¶ËµÄ×ö·¨ÊÇÿ´Î¶ÁÈ¡Ò»¸öÊý¾Ý¿é£¬È»ºó½«Õâ¸öÊý¾Ý¿é´«µÝ½øCÀ©Õ¹Ä£¿éÖÐÈ¥£¬µ«¶ÔÓÚÄ¿±êÎļþµÄÊý¾ÝдÈëÊÇÔÚCÀ©Õ¹Ä£¿éÖÐÍê³ÉµÄ£¬µ«Æäʵ¿ÉÒÔ¸üÃæÏò¶ÔÏóÒ»µã£¬²»ÊÇÂð£¿ÔÀ´outfpÊÇÒ»¸öÎļþÖ¸Õ룬²»Èç¸Ä³ÉÒ»¸ö´ÓPythonÖд«µÝÒ»¸öÎļþ¶ÔÏóµ½CÄ£¿éÀïÈ¥£¬Õâ¸öÎļþ¶ÔÏóÓÐ×Ô¼ºµÄwrite·½·¨£¬ÕâÑùÔÚCÀ©Õ¹Ä£¿éÖÐÄã¾Í¿ÉÒԻص÷Îļþ¶ÔÏóµÄwrite·½·¨À´Íê³ÉÊý¾ÝµÄдÈë¡£ Ê×ÏÈÀ´¿´Python¶ËµÄ´úÂ룬ÎÒÃǶ¨ÒåÁËÒ»¸öfileÀà¼Ì³ÐÏÂÀ´µÄMyFile×ÓÀ࣬ÆäÖеÄwrite·½·¨¾ÍÊÇΪÔÚCÀ©Õ¹Ä£¿éÖлص÷¶øרÃÅ×¼±¸µÄ¡£´úÂë#!/usr/bin/env python
import clame
INBUFSIZE = 4096
class MyFile(file):
def __init__(self, path, mode):
file.__init__(self, path, mode)
self.n = 0
def write(self, s):
file.write(self, s)
self.n += 1
ou ......
ÉÏһƪÖÐÎÒÃÇÔÚpython¶ËµÄ×ö·¨ÊÇÿ´Î¶ÁÈ¡Ò»¸öÊý¾Ý¿é£¬È»ºó½«Õâ¸öÊý¾Ý¿é´«µÝ½øCÀ©Õ¹Ä£¿éÖÐÈ¥£¬µ«¶ÔÓÚÄ¿±êÎļþµÄÊý¾ÝдÈëÊÇÔÚCÀ©Õ¹Ä£¿éÖÐÍê³ÉµÄ£¬µ«Æäʵ¿ÉÒÔ¸üÃæÏò¶ÔÏóÒ»µã£¬²»ÊÇÂð£¿ÔÀ´outfpÊÇÒ»¸öÎļþÖ¸Õ룬²»Èç¸Ä³ÉÒ»¸ö´ÓPythonÖд«µÝÒ»¸öÎļþ¶ÔÏóµ½CÄ£¿éÀïÈ¥£¬Õâ¸öÎļþ¶ÔÏóÓÐ×Ô¼ºµÄwrite·½·¨£¬ÕâÑùÔÚCÀ©Õ¹Ä£¿éÖÐÄã¾Í¿ÉÒԻص÷Îļþ¶ÔÏóµÄwrite·½·¨À´Íê³ÉÊý¾ÝµÄдÈë¡£ Ê×ÏÈÀ´¿´Python¶ËµÄ´úÂ룬ÎÒÃǶ¨ÒåÁËÒ»¸öfileÀà¼Ì³ÐÏÂÀ´µÄMyFile×ÓÀ࣬ÆäÖеÄwrite·½·¨¾ÍÊÇΪÔÚCÀ©Õ¹Ä£¿éÖлص÷¶øרÃÅ×¼±¸µÄ¡£´úÂë#!/usr/bin/env python
import clame
INBUFSIZE = 4096
class MyFile(file):
def __init__(self, path, mode):
file.__init__(self, path, mode)
self.n = 0
def write(self, s):
file.write(self, s)
self.n += 1
ou ......
ÉÏһƪÀïµÄLAMEÏîÄ¿ÒѾչʾÁËpythonÈçºÎÓëCÓïÑÔ½»»¥£¬µ«³ÌÐòÈÔ²»¹»ÀíÏ룬ÔÚpythonÕâÒ»¶Ë½ö½öÊÇ´«µÝÔ´ÎļþºÍÄ¿±êÎļþµÄ·¾¶£¬ÔÙµ÷ÓÃCÄ£¿éµÄencode·½·¨À´½øÐбàÂ룬µ«ÎÊÌâÔÚÓÚÄãÎÞ·¨¿ØÖÆencodeº¯Êý£¬±ÈÈçÄãÏë±àÂëµÄÔ´ÎļþÈç¹û²»ÊÇÔʼÊý¾Ý£¬¶øÊÇwavÎļþ»òÕßÆäËû¸ñʽÄØ£¿¶ÔÓÚÕâ¸öÎÊÌ⣬ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÑ¡Ôñ£¬Ò»ÖÖÄ£·ÂÇ°ÃæµÄCÄ£¿é£¬ÔÚÄãµÄPython´úÂëÖжÁÈ¡Êý¾Ý£¬²¢½«Êý¾Ý¿éÖð¸ö´«µÝ¸øencodeº¯Êý£¬ÁíÒ»ÖÖ·½·¨ÊÇÄã´«½øÈ¥Ò»¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó´øÓÐÒ»¸öread·½·¨£¬ÕâÑùÄã¾Í¿ÉÒÔÔÚCÄ£¿éÀïÖ±½Óµ÷ÓÃËüµÄread·½·¨À´¶ÁÈ¡ÆäÊý¾Ý¡£ ÌýÆðÀ´ºÃÏñµÚ¶þÖÖ¸ü¼ÓÃæÏò¶ÔÏ󣬵«Êµ¼ÊÉϵÚÒ»ÖÖ·½·¨·´¶øÊǸüΪºÏÊʵÄÑ¡Ôñ£¬ÒòΪËü¸üΪÁé»î,ÏÂÃæÎÒÃǾÍÔÚÉÏһƪµÄ»ù´¡ÉÏ,ÀûÓõÚÒ»ÖÖ˼·¶ÔÆä½øÐиÄÔì¡£ÔÚÕâÖÖз½·¨ÖУ¬ÎÒÃÇÐèÒª¶à´Îµ÷ÓÃCÄ£¿éµÄº¯Êý£¬ÀàËÆÓÚ½«ÆäÊÓΪÀàµÄ·½·¨¡£¿ÉCÓïÑÔÊDz»Ö§³ÖÀàµÄ£¬Òò´ËÐèÒª½«×´Ì¬ÐÅÏ¢´æ´¢ÔÚij¸öµØ·½¡£³ý´ËÒÔÍ⣬ÎÒÃÇÐèÒª½«“Àà”±©Â¶¸øÍⲿµÄPython³ÌÐò£¬Ê¹ÆäÄÜ´´½¨“Àà“µÄʵÀý£¬²¢µ÷ÓÃËüµÄ·½·¨¡£ÔÚ“Àà¶ÔÏó“µÄÄÚ²¿ÎÒÃÇÔò½«ÆäдÊý¾ÝµÄÎļþÐÅÏ¢´¢´æÔÚ”¶ÔÏó“µÄ״̬ÖС£ÌýÉÏÈ¥¾ÍÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ·½·¨£¬²»ÊÇÂð£¿Ê×ÏÈ,×ñÑ"²âÊÔÏÈÐÐ"µÄÔÔ ......
ÉÏһƪÀïµÄLAMEÏîÄ¿ÒѾչʾÁËpythonÈçºÎÓëCÓïÑÔ½»»¥£¬µ«³ÌÐòÈÔ²»¹»ÀíÏ룬ÔÚpythonÕâÒ»¶Ë½ö½öÊÇ´«µÝÔ´ÎļþºÍÄ¿±êÎļþµÄ·¾¶£¬ÔÙµ÷ÓÃCÄ£¿éµÄencode·½·¨À´½øÐбàÂ룬µ«ÎÊÌâÔÚÓÚÄãÎÞ·¨¿ØÖÆencodeº¯Êý£¬±ÈÈçÄãÏë±àÂëµÄÔ´ÎļþÈç¹û²»ÊÇÔʼÊý¾Ý£¬¶øÊÇwavÎļþ»òÕßÆäËû¸ñʽÄØ£¿¶ÔÓÚÕâ¸öÎÊÌ⣬ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÑ¡Ôñ£¬Ò»ÖÖÄ£·ÂÇ°ÃæµÄCÄ£¿é£¬ÔÚÄãµÄPython´úÂëÖжÁÈ¡Êý¾Ý£¬²¢½«Êý¾Ý¿éÖð¸ö´«µÝ¸øencodeº¯Êý£¬ÁíÒ»ÖÖ·½·¨ÊÇÄã´«½øÈ¥Ò»¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó´øÓÐÒ»¸öread·½·¨£¬ÕâÑùÄã¾Í¿ÉÒÔÔÚCÄ£¿éÀïÖ±½Óµ÷ÓÃËüµÄread·½·¨À´¶ÁÈ¡ÆäÊý¾Ý¡£ ÌýÆðÀ´ºÃÏñµÚ¶þÖÖ¸ü¼ÓÃæÏò¶ÔÏ󣬵«Êµ¼ÊÉϵÚÒ»ÖÖ·½·¨·´¶øÊǸüΪºÏÊʵÄÑ¡Ôñ£¬ÒòΪËü¸üΪÁé»î,ÏÂÃæÎÒÃǾÍÔÚÉÏһƪµÄ»ù´¡ÉÏ,ÀûÓõÚÒ»ÖÖ˼·¶ÔÆä½øÐиÄÔì¡£ÔÚÕâÖÖз½·¨ÖУ¬ÎÒÃÇÐèÒª¶à´Îµ÷ÓÃCÄ£¿éµÄº¯Êý£¬ÀàËÆÓÚ½«ÆäÊÓΪÀàµÄ·½·¨¡£¿ÉCÓïÑÔÊDz»Ö§³ÖÀàµÄ£¬Òò´ËÐèÒª½«×´Ì¬ÐÅÏ¢´æ´¢ÔÚij¸öµØ·½¡£³ý´ËÒÔÍ⣬ÎÒÃÇÐèÒª½«“Àà”±©Â¶¸øÍⲿµÄPython³ÌÐò£¬Ê¹ÆäÄÜ´´½¨“Àà“µÄʵÀý£¬²¢µ÷ÓÃËüµÄ·½·¨¡£ÔÚ“Àà¶ÔÏó“µÄÄÚ²¿ÎÒÃÇÔò½«ÆäдÊý¾ÝµÄÎļþÐÅÏ¢´¢´æÔÚ”¶ÔÏó“µÄ״̬ÖС£ÌýÉÏÈ¥¾ÍÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ·½·¨£¬²»ÊÇÂð£¿Ê×ÏÈ,×ñÑ"²âÊÔÏÈÐÐ"µÄÔÔ ......
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)
Èç¹ûÄãÊ¡ÂÔÁËÒ»¸ö»òÕßÁ½¸öÃû³Æ¿Õ¼ä²ÎÊý,ÄÇôµ±Ç°µÄÈ«¾ÖºÍ¾Ö²¿Ãû³Æ¿Õ ......