ÔÚ³ÌÐòÖÐʹÓÃÅäÖÃÎļþÀ´Áé»îµÄÅäÖÃһЩ²ÎÊýÊÇÒ»¼þºÜ³£¼ûµÄÊÂÇ飬ÅäÖÃÎļþµÄ½âÎö²¢²»¸´ÔÓ£¬ÔÚpythonÀï¸üÊÇÈç´Ë£¬ÔÚ¹Ù·½·¢²¼µÄ¿âÖоͰüº¬ÓÐ×öÕâ¼þÊÂÇé
µÄ¿â£¬ÄǾÍÊÇConfigParser£¬ÕâÀï¼òµ¥µÄ×öһЩ½éÉÜ¡£
ConfigParser½âÎöµÄÅäÖÃÎļþµÄ¸ñʽ±È½ÏÏóiniµÄÅäÖÃÎļþ¸ñʽ£¬¾ÍÊÇÎļþÖÐÓɶà¸ösection¹¹³É£¬Ã¿¸ösectionÏÂÓÖÓжà¸öÅäÖÃÏ
±ÈÈ磺
[db]
db_host=127.0.0.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=10
processor=20
¼ÙÉèÉÏÃæµÄÅäÖÃÎļþµÄÃû×ÖΪtest.conf¡£ÀïÃæ°üº¬Á½¸ösection,Ò»¸öÊÇdb, ÁíÒ»¸öÊÇconcurrent,
dbÀïÃ滹°üº¬ÓÐ4ÏconcurrentÀïÃæÓÐÁ½Ïî¡£ÕâÀïÀ´×ö×ö½âÎö£º
#-*- encoding: gb2312 -*-
import ConfigParser
import string, os, sys
cf = ConfigParser.ConfigParser()
cf.read("test.conf")
# ·µ»ØËùÓеÄsection
s = cf.sections()
print 'section:', s
o = cf.options("db")
print 'options:', o
v = cf.items("db")
print 'db:', v
print '-'*60
#¿ÉÒÔ°´ÕÕÀàÐͶÁÈ¡³öÀ´
db_host = cf.get(&q ......
¡¡¡¡ÔÚpythonÖÐÈç¹ûҪʹÓÃfork»òÕßmultiprocessÀ´×ö¶à½ø³Ì£¬¼ÙÈçimportµÄ¿âºÜ¶à»òÕߺܴó£¬ÀýÈçwxpython£¬²é¿´¸÷½ø³ÌµÄÄÚ´æÕ¼ÓÃÄã»á·¢ÏÖÁ½¸ö½ø³ÌµÄÄÚ´æÕ¼Óûù±¾ÉÏÏàͬ£¬»»¾ä»°Ëµ£¬Èç¹ûµÚ¶þ¸ö½ø³Ì¸ù±¾²»ÐèÒªÓõ½wxµÄÄÚÈÝ£¬ËüÒ²»á±»¼ÓÔص½ÄÚ´æµ±ÖÐÈ¥¡£¾ÍÄÃwxÀ´×öÀý×Ó£¬Ã»ÓÐimport t wxÕ¼Óôó¸Å8M+Äڴ棬һµ©import wx£¬ÄÚ´æÂíÉÏì®Éýµ½27M+£¬Èç´ËÒ»À´£¬Á½¸ö½ø³Ì¾ÍÒªÕ¼50m+¡£ÒÔÉÏÊý¾ÝÕâÖ»ÊǶÔÒ»¸öºÜСµÄpython³ÌÐò¶øÑÔ£¬ÒªÊÇÒ»¸öÐèÒªµ¼ÈëºÜ¶à¿âÎļþµÄ³ÌÐò£¬ÄÇÇé¿ö¿É¾Í²»Ò»ÑùÁË¡£
¡¡¡¡¾¹ý¼¸·¬³¢ÊÔ£¬±ÊÕßÕÒµ½ÓÃ__import__£¬ÔÚÔËÐÐʱÔÙÈë¿âµÄ·½·¨¡£ÆäʵÊǷdz£¼òµ¥µÄ£¬ÀýÈçÒÔÏÂÀý×Ó£º
from multiprocessing.managers import BaseManager
from multiprocessing import freeze_support
import os
class MyManager(BaseManager):
pass
global manager
if __name__ == '__main__':
freeze_support()
manager = MyManager()
switch = __import__("myclass",globals(),locals())
manager.register("C", myclass.C)
manager.start()
gui = __import__("mygui", globals(),locals())
mygui.manager = mana ......
Ian Maurer (ian@itmaurer.com), ×ÊÉî¹ËÎÊ, Brulant, Inc.
2006 Äê 7 ÔÂ 03 ÈÕ
±¾ÏµÁÐÎÄÕÂÒ»¹²ÓÐÁ½Æª£¬±¾ÎÄÊÇÆäÖеĵÚһƪ¡£ÔÚÕâһƪÎÄÕÂÖУ¬ÎÒÃǽ«Õ¹Ê¾ Django µÄÓ÷¨£¬Django ÊÇ Python ±à³ÌÓïÑÔÇý¶¯µÄÒ»¸ö¿ªÔ´Ä£ÐÍ-ÊÓͼ-¿ØÖÆÆ÷£¨MVC£©·ç¸ñµÄ Web Ó¦ÓóÌÐò¿ò¼Ü¡£Ê¹Óà Django£¬ÎÒÃÇÔÚ¼¸·ÖÖÓÖ®ÄھͿÉÒÔ´´½¨¸ßÆ·ÖÊ¡¢Ò×ά»¤¡¢Êý¾Ý¿âÇý¶¯µÄÓ¦ÓóÌÐò¡£
Django ÏîÄ¿ÊÇÒ»¸ö¶¨ÖÆ¿ò¼Ü£¬ËüÔ´×ÔÒ»¸öÔÚÏßÐÂÎÅ Web Õ¾µã£¬ÓÚ 2005 ÄêÒÔ¿ªÔ´µÄÐÎʽ±»ÊͷųöÀ´¡£Django ¿ò¼ÜµÄºËÐÄ×é¼þÓУº
ÓÃÓÚ´´½¨Ä£Ð͵ĶÔÏó¹ØϵӳÉä
Ϊ×îÖÕÓû§Éè¼ÆµÄÍêÃÀ¹ÜÀí½çÃæ
Ò»Á÷µÄ URL Éè¼Æ
Éè¼ÆÕßÓѺõÄÄ£°åÓïÑÔ
»º´æϵͳ
±¾ÎÄÊÇÓÐ¹Ø Python Web ¿ò¼ÜµÄÓÉÁ½ÆªÎÄÕÂ×é³ÉµÄϵÁÐÎÄÕµĵÚһƪ¡£µÚ¶þƪÎÄÕ½«ÏòÄú½éÉÜ TurboGears ¿ò¼Ü¡£
ҪʹÓò¢Àí½â±¾ÎÄÖÐÌṩµÄ´úÂ룬ÔòÐèÒª°²×° Python£¬²¢Á˽âÔÚ³õѧÕßµÄˮƽÉÏÈçºÎʹÓà Python¡£Òª²é¿´ÊÇ·ñ°²×°ÁË Python ÒÔ¼° Python µÄ°æ±¾ºÅ£¬¿ÉÒÔÊäÈë python -V¡£Django ÖÁÉÙÐèÒª 2.3.5 °æ±¾µÄ Python£¬¿ÉÒÔ´Ó Python Web Õ¾µãÉÏÏÂÔØËü£¨¹ØÓÚÁ´½ÓÇë²ÎÔı¾ÎĺóÃæ ²Î¿¼×ÊÁÏ ²¿·Ö£©¡£ÎÒÃÇÖÁÉÙ»¹Ó¦¸Ã˳±ãÊìϤһÏ MVC ¼Ü¹¹¡£
±¾ÎÄʹÓà ......
#==================================================
import wx
import wx.media
class MyFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent,-1,title,pos=(150,150),size&;nbsp;=(640, 480),style=wx.MAXIMIZE_BOX|wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX|wx.CLIP_CHILDREN)
self.Bind(wx.EVT_CLOSE,self.OnCloseWindow)
panel = wx.Panel(self,size=(350,200))
video = wx.media.MediaCtrl(panel,-1,fileName ="V003.mpg",pos=wx.Point(100,50),size=wx.Size(320,240))
video.ShowPlayerControls(flags = wx.media.MEDIACTRLPLAYERCONTROLS_STEP) ;; ;
video.Play()
def OnCloseWindow(self,event):
self.Destroy()
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None,'Form1')
frame.Show(True)
return True
app=MyApp(redirect=True)
app.MainLoop()
from:http://bytes.com/topic/python/answers/697643-using-wxmediactrl-wxpyth ......
ÔÚStack Overflow ÉÏ¿´µ½Ñ§Ï°Python µÄÒ»¸ö·½·¨ÊÇÓÃPython ÆƽâThe Python Challenge¡£µ«ÎÒϲ»¶ÓÃRuby£¬Ë¹ÜµÃ×ÅÄØ^_^
0. ÈëÃŹغܼòµ¥¡£
p 2**38
1. ÆƽâÒ»¶Î»°£¬¹Û²ìͼƬºÜÈÝÒ×·¢ÏÖ½âÂë±í°Ñ×Öĸ±íÑ»·ÓÒÒÆÁ½Î»¡£
riddle = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."
riddle.scan(/./).each do |char|
if /[a-z]/ =~ char
print (?a + (char[0] - ?a + 2) % 26).chr
else
print char
end
end
ÒëÎÄ£ºi hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url.
ÔÙ¶Ôurl ("map")ʵʩ±ä»»µÃ"ocr"¡£
update: ·¢ÏÖStringÓиöÄÚÖÃÌæ»»º¯Êýtr()¡£¿´£¬¶à¼ò½à¡£
class String
def rot2
self.tr("a-xyz","c-zab")
end
end
p riddle.rot2
2. ²é¿´ÍøÒ³Ô´Â룬¿ÉÒÔ¿´µ½ÍøÒ³×¢ÊÍÖÐÓÐÒ»¶ÑÂÒ ......
½ñÍíÊÔÁËÒ»ÏÂPython×Ô´øµÄµ¥Ôª²âÊÔ£¬Ö÷ÒªÊDzο¼ÁËPythonµ¥Ôª²âÊÔ¿ò¼Ü
µÄÓйØ×ÊÁÏ£¬ÕÛÌÚÁËÒ»¸öСʱ×óÓÒ£¬×ÜËãÔÚEric 4ͨ¹ýµÄ¼¸¸ö¼òµ¥µÄµ¥Ôª²âÊÔ¡£ÔÚÕâÀォËùµÃµÄÏà¹Ø֪ʶ¼Ç¼ÏÂÀ´£¬·½±ã½«À´²éѯ¡£
python×Ô´øµÄµ¥Ôª²âÊÔÄ£¿éÊÇunittest£¬´Ó2.1ÒÔºóΪ±ê×¼¿âµÄÒ»²¿·Ö
1¡¢²âÊÔÄ£¿éimport unittest
2¡¢´Óunittest.TestCaseÅÉÉú×Ô¼ºµÄ²âÊÔÀà
3¡¢ÔÚ²âÊÔÀàÖж¨Òå runTest·½·¨£¬Ôڸ÷½·¨Öбàд²âÊÔÓï¾ä£¬²¢ÓöÏÑÔÅжϲâÊÔÊÇ·ñͨ¹ý¡£
4¡¢Ê¹ÓÃunittestÄ£¿éµÄmain()·½·¨¿ÉÒÔ½«²âÊÔÄ£¿é±ä³É¿ÉÔËÐеĽű¾£¬Í¨¹ýÏÂÁÐÓï¾ä£¬¿ÉÒÔÔÚÃüÁîÐÐÖ±½ÓÔËÐвâÊÔÄ£¿é
if __name__ == "__main__":
unittest.main()
²âÊÔ½á¹û½«Êä³öµ½±ê×¼Êä³ö¡£
5¡¢ÔÚEric 4ÖУ¬Ñ¡Ôñ‘µ¥Ôª²âÊÔ’->‘µ¥Ôª²âÊÔ’->Ñ¡Ôñ²âÊÔÄ£¿é->µã'¿ªÊ¼'£¬ÔËÐÐÖ¸¶¨µÄ²âÊÔÄ£¿é¡£Í¨¹ýµÄºÍʧ°ÜµÄ²âÊÔ½«·Ö±ðÔÚ²»Í¬µÄÁбíÖÐÁгö£¬Í¬Í¬Ê±»áÓò»Í¬µÄÑÕÉ«±íʾ²âÊԵĽá¹û¡£
......