[Ô´´]Python´úÂëÄ£¿éÈȸüлúÖÆʵÏÖ(reload)
[Ô´´]Python´úÂëÄ£¿éÈȸüлúÖÆʵÏÖ(reload)
by AKara 2009-05-17 @ http://blog.csdn.net/akara @ akaras@163.com
---------------------------------------------------------------------
¶ÔÒ»¸öÓÎÏ·À´Ëµ£¬ÎÞÂÛÊÇclient»òserver¶¼·Ç³£ÐèÒªÒ»Ì×´úÂëÈȸüеĻúÖÆ¡£
ËüÄÜ´ó´óÌá¸ß¿ª·¢Ð§ÂÊ£¬ÓÖÄܳ¬ºõÍæ¼ÒÆÚÍûµØÔÚÔËÓªÆÚÔÚÏßÐÞÕýbugºÍÔöÌí¹¦ÄÜ¡£
¿Éν±Ø±¸»úÖÆ¡£
---------------------------------------------------------------------
ÔÚʵÏÖÒ»¸öPython°æ±¾µÄÈȸüÐÂϵͳʱ£¬ÎÒ×ßÁ˲»ÉÙÍä·£¬×êÁ˺ܶàÅ£½Ç¼â£¬
Íê³ÉÁËÒ»¸öÎÒ¿´À´Óкܶàϸ½Ú²»¹»ÍêÉƲ»¹»Ç¿´óµÄ°æ±¾£¬²¢ÔÚÏë×öµ½'¸üÍêÃÀ'¡£
Ö±µ½ºÍͬÊÂDX,KHFÌÖÂۺ󣬲ŷ¢ÏÖ×îÖØÒªµÄÊÇÃ÷È·ÈȸüлúÖƵÄÄ¿±êÊÇʲô¡£
ÍùÍùÎÒÃÇÉÆÓÚ½«Ð¡ÊÂÒ»¼þ¼þ×öºÃ£¬µ«È´Íü¼ÇÎÊÎÊ×Ô¼ºÎªÊ²Ã´Ç°ÐС£
ÎÒÒª×÷µÄÈȸüлúÖƵÄÄ¿±êÊÇ£º
(1)¸üдúÂ붨Òå
(2)²»¸üÐÂÊý¾Ý¶ÔÏó
(3)²»ÒªÒÀÀµÈȸüлúÖƽâ¾öËùÓÐÎÊÌâ¡£¹ýÓÚ¸´ÔӵĸĶ¯£¬ÖØÆô½ø³Ì
¾ßÌåµ½PythonÕâ¸öÓïÑÔ¶øÑÔ£¬Ä¿±ê±ãÊÇ£º
(1)¸üÐÂÀà/º¯Êý¼°ÑÜÉú¶ÔÏó£ºclass/function/method/classmethod/staticmethod
(2)²»¸üгýÁË(1)ÖеÄÆäËûÀàÐͶÔÏó
(3)²»ÒªÒÀÀµÈȸüлúÖƽâ¾öËùÓÐÎÊÌâ¡£¹ýÓÚ¸´ÔӵĸĶ¯£¬ÖØÆô½ø³Ì
µÚ(3)µã½«ÎÒ½â¾È³öÀ´ÁË£º²»Òª°ÑËùÓÐÔðÈÎѹÔÚÈȸüлúÖÆÉÏ¡£
±¾ÎÄËùָģ¿éÖ»ÏÞÓÚ.py/.pyc/.pyo...(¼´·Çdll/so/bulitin)ΪÔØÌåµÄÄ£¿é¡£
---------------------------------------------------------------------
PythonµÄ__builtins__ÖÐÓÐÒ»¸öÖÚËùÖÜÖªµÄreload£¬µ«ËüÔÚ´óÏîÄ¿ÖеĿÉÓÃÐÔ
¼¸ºõΪÁãÒ²ÊÇÖÚËùÖÜÖªµÄ¡£Ëü¹¼¸ºÁËPython DocumentationÖжÔËüµÄÆÀ¼Û£º
"This is useful if you have edited the module source file using an
external editor and want to try out the new version without leaving
the Python interpreter"
---------------------------------------------------------------------
ÕâÀï¼òµ¥·ÒëÒ»ÏÂPythonÄÚ½¨µÄreloadµÄ˵Ã÷£º
µ±reload(M)±»Ö´Ðкó£º
* MÄ£¿é½«±»ÖØнâÊÍ×Ö½ÚÂë¡£²¢ÔÙÖ´ÐÐÄ£¿é¼¶¶¨ÒåµÄÖ´ÐÐÓï¾ä(Òë×¢£ºÓÉ´ËÓ¦
ÈÏʶµ½ÔÚÄ£¿é¼¶¾Í±àдº¯Êýµ÷ÓúÍÀà¶ÔÏóÉú³ÉÊǶàô
Ïà¹ØÎĵµ£º
>>> from socket import socket, SOCK_DGRAM, AF_INET
>>> s = socket(AF_INET, SOCK_DGRAM)
>>> s.connect(('google.com', 0))
>>> s.getsockname()
('192.168.1.113', 43711)
Linux:
import socket
import fcntl
import struct
def get_ip_address(ifname):
s = ......
µ±ÎÒÃÇÕâÑù½¨Á¢Îļþʱ
f =
file('x1.txt', 'w')
f.write(u'ÖÐÎÄ')
f.colse()
Ö±
½Ó½á¹ûÓ¦¸ÃÊÇÀàËÆ
f.write(u'ÖÐÎÄ')
UnicodeEncodeError: 'ascii'
codec can't encode characters in position 0-16: ordinal not in
range(128)
ÒªÖ±½Óд utf-8 ÎļþÔõô°ìÄØ?
import codecs
f = codecs. ......
>>> import time
>>> import datetime
>>>
now = time.localtime()
>>> now
(2006, 4, 30, 18, 7, 35,
6, 120, 0)
>>> type(now)
<type 'time.struct_time'>
>>>
str_now = time.strftime("%m/%d/%Y %X", now )
>>>
str_n ......
¹ØÓÚPython£¬±¾È˲»Ïë¶à˵ÁË£¬Èç¹û²»ÖªµÀʲôÊÇPython£¬¿ÉÒÔ¿´¡¶Ê²Ã´ÊÇPython
£¿¡·Ò»ÎÄ¡£Python¿ÉÒÔ¿ª·¢CGI³ÌÐò£¬ÄÇôÔÚApacheÏÂÓ¦ÈçºÎÅäÖÃÄØ£¿±¾ÎÄÖ»½²ÊöÁËÈçºÎ
ÒÔCGI·½Ê½ÅäÖÃApache£¬Ê¹ÆäÖ§³ÖPython³ÌÐò¡£ÆäËü·½Ê½£¬Èçmod_pythonÔò²»ÔÚÌÖÂÛ·¶Î§
(ÆäʵÊÇûÅä³É¹¦:-)¡£ÎÒËùʹÓõÄϵͳ»·¾³ÎªWindows 2000, Apache 1.3.19£ ......
http://www.okpython.com/bbs/thread-3367-1-2.html
ÒÔ¶¯ÊÖʵ¼ùΪÈÙ , ÒÔÖ»¿´²»Á·Îª³Ü;
ÒÔ´òÓ¡ÈÕ־ΪÈÙ , ÒÔµ¥²½¸ú×ÙΪ³Ü;
ÒÔ¿Õ¸ñËõ½øΪÈÙ , ÒÔÖƱíËõ½øΪ³Ü;
ÒÔµ¥Ôª²âÊÔΪÈÙ , ÒÔÈ˹¤²âÊÔΪ³Ü;
ÒÔÄ£¿é¸´ÓÃΪÈÙ , ÒÔ¸´ÖÆÕ³ÌùΪ³Ü;
ÒÔ¶à̬ӦÓÃΪÈÙ , ÒÔ·ÖÖ§ÅжÏΪ³Ü;
ÒÔPythonicΪÈÙ , ÒÔÈßÓàÍÏí³Îª³Ü;
ÒÔ×ܽá·ÖÏíΪ ......