ת×Ô http://hi.baidu.com/xunxun129/blog/item/3befad0f8ff992c07bcbe180.html
ÓÐʱÎÒÃÇÐèÒªÔÚ Python ÖÐʹÓà zip Îļþ£¬¶øÔÚ1.6°æÖУ¬Python ¾ÍÒѾÌṩÁË zipfile Ä£¿é¿ÉÒÔ½øÐÐÕâÑùµÄ²Ù×÷¡£²»¹ý Python ÖÐµÄ zipfile Ä£¿é²»ÄÜ´¦Àí¶à¾íµÄÇé¿ö£¬²»¹ýÕâÖÖÇé¿ö²¢²»¶à¼û£¬Òò´ËÔÚͨ³£Çé¿öÏÂÒѾ×㹻ʹÓÃÁË¡£ÏÂÃæÎÒÖ»ÊǶÔһЩ»ù±¾µÄ zipfile ²Ù×÷½øÐÐÁ˼Ǽ£¬×ãÒÔÓ¦¸¶´ó²¿·ÖµÄÇé¿öÁË¡£
zipfile Ä£¿é¿ÉÒÔÈÃÄã´ò¿ª»òдÈëÒ»¸ö zip Îļþ¡£±ÈÈ磺
import zipfile
z = zipfile.ZipFile('zipfilename', mode='r')
ÕâÑù¾Í´ò¿ªÁËÒ»¸ö zip Îļþ£¬Èç¹ûmodeΪ'w'»ò'a'Ôò±íʾҪдÈëÒ»¸ö zip Îļþ¡£Èç¹ûÊÇдÈ룬Ôò»¹¿ÉÒÔ¸úÉϵÚÈý¸ö²ÎÊý£º
compression=zipfile.ZIP_DEFLATED
»ò
compression=zipfile.ZIP_STORED
ZIP_DEFLATEDÊÇѹËõ±êÖ¾£¬Èç¹ûʹÓÃËüÐèÒª±àÒëÁËzlibÄ£¿é¡£¶øºóÒ»¸öÖ»ÊÇÓÃzip½øÐдò°ü£¬²¢²»Ñ¹Ëõ¡£
ÔÚ´ò¿ªÁËzipÎļþÖ®ºó¾Í¿ÉÒÔ¸ù¾ÝÐèÒªÊǶÁ³özipÎļþµÄÄÚÈÝ»¹Êǽ«ÄÚÈݱ£´æµ½ zip ÎļþÖС£
¶Á³özipÖеÄÄÚÈÝ
ºÜ¼òµ¥£¬zipfile ¶ÔÏóÌṩÁËÒ»¸öread(name)µÄ·½·¨¡£nameΪzipÎļþÖеÄÒ»¸öÎļþÈë¿Ú£¬Ö´ÐÐÍê³ÉÖ®ºó£¬½«·µ»Ø¶Á³öµÄÄÚÈÝ£¬Äã°ÑËü±£´æµ½Ïëµ½µÄÎļþÖм´¿É¡£
дÈëzipÎ ......
http://code.google.com/p/android-scripting/
Android¿ªÊ¼Ö§³Ö½Å±¾ÓïÑÔPython¡¢Lua¼°Beanshell£¬Î´À´»¹½«Ö§³ÖRuby
×÷Õß Werner Schuster ÒëÕß ÕÅÁú ·¢²¼ÓÚ 2009Äê7ÔÂ5ÈÕ
Android Scripting Environment£¨ASE£©ÏîĿΪAndroidÔö¼ÓÁ˽ű¾Ö§³Ö¡£Í¨¹ý°²×°ASE£¬ÎÒÃÇ¿ÉÒÔÔÚÉ豸Éϱàд½Å±¾²¢Ö´ÐС£
ËäÈ»ÏÖÔÚÒѾӿÏÖ³öÁ˲»ÉÙ¹¤¾ßÓÃÓÚ¿ª·¢AndroidÓ¦Ó㬵«Èç¹ûÄÜÔÚÉ豸Éϱàд½Å±¾½«ÊÇÒ»¼þºÜˬµÄÊÂÇ飬ÕâÑùÎÒÃǾͿÉÒÔÖ±½ÓÔÚÉ豸ÉϽøÐÐÊÔÑé²¢¿ìËÙ±àдÔÐͶøÎÞÐèÆô¶¯IDE¡¢±àÒë¡¢²¿ÊðµÈ¡£
ASEͨ¹ýÁ½ÖÖÊÖ¶ÎÀ´·ÃÎÊAndroid API¡£Ä¿Ç°ÎÒÃÇ¿ÉÒÔͨ¹ýASEʹÓÃPython¼°LuaÔËÐÐʱÀ´ÔËÐнű¾£¬ÕâЩÔËÐÐʱ¶¼ÊDZ¾µØÓ¦Óã¬ËûÃÇͨ¹ýJSON-RPCÀ´·ÃÎÊAndroid API¡£
ÓÉÓÚAndroid±¾Éí»ùÓÚJava£¬Òò´ËÎÒÃÇ»¹¿ÉÒÔÔËÐлùÓÚJVMµÄÓïÑÔ¡£Ä¿Ç°¿ÉÒÔʹÓõÄÊÇBeanShell——JavaÓïÑԵĶ¯Ì¬°æ±¾¡£»ùÓÚJVMµÄ½âÊÍÆ÷¾ÍÔÚASEÄÚ²¿¼ÓÔØ£¬ÎÞÐè¼ä½ÓµÄRPCµ÷Óá£
ASE»¹¼Æ»®Èøü¶àµÄJVMÓïÑÔÔËÐÐÔÚAndroidÉÏ¡£ËäÈ»JRubyÔç¾ÍÄÜÔËÐÐÔÚAndroidÉÏÁË£¬µ«È´´æÔÚһЩÎÊÌ⣬Ê×µ±Æä³åµÄ¾ÍÊÇAndroidʹÓÃÁËDalvik VM£¨AndroidÓ¦Óñ»±àÒë³ÉDalvik VM×Ö½ÚÂ룩¡£
ÓÐÐËȤµÄ»°¾ÍÈ¥¿´¿´ASEµÄSVN²Ö¿â°É£¬ÄÇÉÏÃæÇå³þµØ±íÃ÷ÁËδÀ´µÄR ......
¼Æ»®Õâ¸öÐÇÆÚѧϰÓÃpythonʵÏÖ¾ö²ßÊ÷Ëã·¨¡£½ñÍí¾ÍÅöµ½Á˺öàÎÊÌ⣬ºÃ¾ÃûÓÐÓÃpythonÁË£¬²¢ÇÒ3.0ºÍÊé±¾ÉϵÄÓÐЩ¶«Î÷²»Ì«Ò»Ö£¬ÕâÀï¼Ç¼Ï¼¸¸öµØ·½¡£
1£© import module Èç¹û²»ÊÇÔÚ±ê׼Ŀ¼Ï£¨ÏµÍ³µÄpath£¬pythonµÄĿ¼£¬µ±Ç°Ä¿Â¼£©£¬ÄÇôÐèÒªÏÈimport sys£¬È»ºósys.path.append('')£»
2£© ¸Ä±äÔ´Îļþºó£¬ÔÙ´Îimport·¢ÏÖ²»Æð×÷Óã»delºóÔÙimportÒ²ÊÇÒ»Ñù£»ÕýÈ·µÄ×ö·¨ÊÇÓÃreload£¬µ«ÊÇÔÚ3.0ÏÂÃæreload·ÅÈëµ½ÁËimpÄ£¿éÖУ» ......
ʲôÊÇpycÎļþ
pycÊÇÒ»ÖÖ¶þ½øÖÆÎļþ£¬ÊÇÓÉpyÎļþ¾¹ý±àÒëºó£¬Éú³ÉµÄÎļþ£¬ÊÇÒ»ÖÖbyte code£¬pyÎļþ±ä³ÉpycÎļþºó£¬¼ÓÔصÄËÙ¶ÈÓÐËùÌá¸ß£¬¶øÇÒpycÊÇÒ»ÖÖ¿çƽ̨µÄ×Ö½ÚÂ룬ÊÇÓÉpythonµÄÐéÄâ»úÀ´Ö´Ðеģ¬Õâ¸öÊÇÀàËÆÓÚJAVA»òÕß.NETµÄÐéÄâ»úµÄ¸ÅÄî¡£pycµÄÄÚÈÝ£¬ÊǸúpythonµÄ°æ±¾Ïà¹ØµÄ£¬²»Í¬°æ±¾±àÒëºóµÄpycÎļþÊDz»Í¬µÄ£¬2.5±àÒëµÄpycÎļþ£¬2.4°æ±¾µÄpythonÊÇÎÞ·¨Ö´Ðеġ£
ΪʲôÐèÒªpycÎļþ
Õâ¸öÐèÇóÌ«Ã÷ÏÔÁË£¬ÒòΪpyÎļþÊÇ¿ÉÒÔÖ±½Ó¿´µ½Ô´ÂëµÄ£¬Èç¹ûÄãÊÇ¿ª·¢ÉÌÒµÈí¼þµÄ»°£¬²»¿ÉÄÜ°ÑÔ´ÂëҲй©³öÈ¥°É£¿ËùÒÔ¾ÍÐèÒª±àÒëΪpycºó£¬ÔÙ·¢²¼³öÈ¥¡£µ±È»£¬pycÎļþÒ²ÊÇ¿ÉÒÔ·´±àÒëµÄ£¬²»Í¬°æ±¾±àÒëºóµÄpycÎļþÊDz»Í¬µÄ£¬¸ù¾ÝpythonÔ´ÂëÖÐÌṩµÄopcode£¬¿ÉÒÔ¸ù¾ÝpycÎļþ·´±àÒë³öpyÎļþÔ´Â룬ÍøÉÏ¿ÉÒÔÕÒµ½Ò»¸ö·´±àÒëpython2.3°æ±¾µÄpycÎļþµÄ¹¤¾ß£¬²»¹ý¸Ã¹¤¾ß´Ópython2.4¿ªÊ¼¾ÍÒªÊÕ·ÑÁË£¬Èç¹ûÐèÒª·´±àÒë³öа汾µÄpycÎļþµÄ»°£¬¾ÍÐèÒª×Ô¼º¶¯ÊÖÁË£¨°³ÔÝʱ»¹Ã»ÕâÄÜÁ¦^--^£©,²»¹ýÄã¿ÉÒÔ×Ô¼ºÐÞ¸ÄpythonµÄÔ´´úÂëÖеÄopcodeÎļþ£¬ÖØбàÒëpython£¬´Ó¶ø·ÀÖ¹²»·¨·Ö×ÓµÄÆƽ⡣
Éú³Éµ¥¸öpycÎļþ
python¾ÍÊǸöºÃ¶«Î÷£¬ËüÌṩÁËÄÚÖõÄÀà¿âÀ´ÊµÏÖ°ÑpyÎļþ±àÒëΪpycÎļþ£¬Õâ¸öÄ£¿é¾ÍÊÇ py_compile Ä£ ......
from cmd import *
class MyShell(Cmd):
def preloop(self):
print "print this line before entering the loop"
def postloop(self):
print "print this line after leaving the loop"
def precmd(self, line):
print "print this line before do a command"
return Cmd.precmd(self, line)
def postcmd(self, stop, line):
print "print this line after do a command"
return Cmd.postcmd(self, stop, line)
def do_test(se ......
1.PythonµÄÀ©Õ¹
PythonÀ©Õ¹ÊÇÖ¸ÔËÓÃÆäËûÓïÑÔ±àдijЩ¹¦ÄÜÄ£¿é£¬¹©Python³ÌÐòµ÷Ó㬳£ÓõÄÓÐPythonµÄCÀ©Õ¹ºÍC++À©Õ¹¡£PythonÀ©Õ¹µÄÄ¿µÄÖ÷ÒªÓÐÁ½¸ö£ºÒ»ÊÇΪÁ˹¦ÄÜÐèÒª£¬ÁíÍâÒ»¸öÔÒòÊÇΪÁËÐÔÄÜÐèÒª¡£ÏÂÃæ½éÉÜÒ»ÏÂÔÚ²»ÔËÓù¤¾ßµÄÇé¿öÏ£¬ÔËÓÃCºÍC++ÓïÑÔ¶ÔPython½øÐÐÀ©Õ¹µÄ²½Öè¡£
À©Õ¹µÄµÚÒ»²½ÊÇÓÃC»òC++´´½¨Ò»¸öÔ´³ÌÐò£¬È»ºóΪԴ³ÌÐòÌṩһ¸ö°ü¹üÒÔ¹©Pythonµ÷Ó㬵ÚÈý²½ÊDZàÒëÁ´½ÓÉú³ÉÏàÓ¦µÄdllÎļþ¡£ÎªÔ´³ÌÐòÌṩ°ü¹üÊÇÕâÀïÃæ×îÖØÒªÒ²ÊÇ×î·±ËöµÄÒ»²½£¬ËüÓÖϸ·ÖΪÈý¸ö²¿·Ö£¬µ¼³öº¯Êý£¬·½·¨ÁбíºÍ³õʼ»¯º¯Êý¡£¶ÔÓÚÀ©Õ¹µÄÿһ¸öº¯Êý£¬¶¼»áÓÐÒ»¸öµ¼³öº¯ÊýÓëÖ®Ïà¶ÔÓ¦£¬ÔÚPythonµÄCÓïÑÔÀ©Õ¹ÖУ¬ËùÓеĵ¼³öº¯Êý¶¼¾ßÓÐÏàͬµÄº¯ÊýÔÐÍ£º
PyObject* method(PyObject* self, PyObject* args);
·½·¨Áбí¸ø³öÁËËùÓÐÄܹ»±»PythonʹÓõķ½·¨£¬ËüÓÉËIJ¿·Ö×é³É£º·½·¨Ãû£¬µ¼³öº¯Êý£¬²ÎÊý´«µÝ·½Ê½ÒÔ¼°·½·¨ÃèÊö¡£·½·¨ÃûÊÇ´ÓPython½âÊÍÆ÷Öе÷Óø÷½·¨Ê±ËùʹÓõÄÃû×Ö¡£²ÎÊý´«µÝ·½Ê½Ôò¹æ¶¨ÁËPythonÏòCº¯Êý´«µÝ²ÎÊýµÄ¾ßÌåÐÎʽ£¬¿ÉÑ¡µÄÁ½ÖÖ·½Ê½ÊÇMETH_VARARGSºÍMETH_KEYWORDS£¬ÆäÖÐMETH_VARARGSÊDzÎÊý´«µÝµÄ±ê×¼ÐÎʽ£¬Ëüͨ¹ýPythonµÄÔª×éÔÚPython½âÊÍÆ÷ºÍCº¯ÊýÖ®¼ä´«µÝ²ÎÊý£¬Èô²ÉÓ ......