[Ô´´]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Ä£¿é½«±»ÖØÐ½âÊÍ×Ö½ÚÂë¡£²¢ÔÙÖ´ÐÐÄ£¿é¼¶¶¨ÒåµÄÖ´ÐÐÓï¾ä(Òë×¢£ºÓÉ´ËÓ¦
ÈÏʶµ½ÔÚÄ£¿é¼¶¾Í±àдº¯Êýµ÷ÓúÍÀà¶ÔÏóÉú³ÉÊǶàô
Ïà¹ØÎĵµ£º
С°×¶ÔÉϽڿÎÀïµÄ“СÂéȸ”ÐËȤ°»È»£¬ÕûÌì¾ÍÔÚËÞÉáµ·¹Ä¡£Õâ²»£¬¼¸ÌìÏÂÀ´ËûÒѾ¹¥ÏÂÊ®¼¸¸öÍøÕ¾ÁË¡£
С²Ëȴϲ»¶Ò»¸öÈË×øÔÚµçÄÔÅԱߣ¬Öå×Åüͷ£¬ÐÀÉÍ×ÅÕâÒ»ÐÐÐÐ×Ô¼º¿´²»¶®µÄ´úÂë¡£“ÕâЩ×Ö·ûºÃ¹ÖÒìѽ£¡”С²ËÍá×ÅÍ·£¬“ËüΪɶ½ÐÕýÔò±í´ïÊ½ÄØ£¿”
°Ù¶Èһϣ¬ÖÕÓÚÖªµÀ¡£Ð¡² ......
µ±Ö´ÐÐimport
moduleʱ£¬½âÊÍÆ÷»á¸ù¾ÝÏÂÃæµÄËÑË÷·¾¶£¬ËÑË÷module1.pyÎļþ¡£
1) µ±Ç°¹¤×÷Ŀ¼
2) PYTHONPATHÖеÄĿ¼
3) Python°²×°Ä¿Â¼
(/usr/local/lib/python)
ÊÂʵÉÏ£¬Ä£¿éËÑË÷ÊÇÔÚ±£´æÔÚsys.pathÕâ¸öÈ«¾Ö±äÁ¿ÖеÄĿ¼ÁбíÖнøÐÐËÑË÷¡£
sys.path»áÔÚ½âÊÍÆ÷¿ªÊ¼Ö´ÐÐʱ±»³õʼ»¯³É°üº¬£º
1)µ±Ç°¹¤×÷Ŀ¼
2) PYT ......
>>> 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 ......