freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

python項(xiàng)目實(shí)踐(更新版)

  

【正文】 ync_chatimport socket, asyncorePORT = 5005NAME = 39。Server:39。所以書上的這個(gè)項(xiàng)目剛好可以練習(xí)一下socket編程。: runDefaultSetup()這個(gè)程序,首先從整體上進(jìn)行分析,重點(diǎn)部分在于NewsAgent,它的作用是存儲(chǔ)新聞來(lái)源,存儲(chǔ)目標(biāo)地址,然后在分別調(diào)用來(lái)源服務(wù)器(NNTPSource以及SimpleWebSource)以及寫新聞的類(PlainDestination和HTMLDestination)。 bbc = SimpleWebSource(bbc_url, bbc_title, bbc_body) (bbc) clpa_server = 39。39。 id = 0 for item in items: id += 1 print out, 39。39。*len() print class HTMLDestination: def __init__(self,filename): = filename def receiveItems(self,items): out = open(,39。,start) hour = strftime(39。class NewsAgent: 39。39。主要掌握的內(nèi)容一個(gè)是python中使用SAX處理XML,另一個(gè)就是python中的函數(shù)的使用,比如getattr,傳參數(shù)時(shí)的星號(hào)……python項(xiàng)目練習(xí)四:新聞聚合 13729176。和dispatch,這些個(gè)函數(shù)。))看起來(lái)這個(gè)程序上面分析的復(fù)雜了一些,不過偉人毛毛說(shuō)過,任何復(fù)雜的程序都是紙老虎。) (title) (39。]) = open(filename, 39。]) () def endDirectory(self): print 39。 + name) for key, val in (): (39。: args += attrs, if callable(method): method(*args) def startElement(self, name, attrs): (39。讀取xml文件的每一個(gè)節(jié)點(diǎn),然后判斷是page還是directory如果是page則創(chuàng)建html頁(yè)面,然后把節(jié)點(diǎn)中的內(nèi)容寫到文件里。首先我們要解析這個(gè)xml文件,python解析xml和在java中一樣,有兩種方式,SAX和DOM,兩種處理方式不同點(diǎn)在于速度和范圍,前者講究的是效率,每次只處理文檔的一小部分,快速而能有效的利用內(nèi)存,后者是相反的處理方式,先把所有的文檔載入到內(nèi)存,然后再進(jìn)行處理,速度比較慢,也比較消耗內(nèi)存,唯一的好處就是可以操作整個(gè)文檔。,39。下面是代碼:from urllib import urlopenfrom import *from import LinePlotfrom import Labelfrom import renderPDFURL = 39。補(bǔ)充一個(gè)類圖,很簡(jiǎn)陋,但是應(yīng)該能說(shuō)明之間的關(guān)系。,39。, 39。.join(block).strip() block = []最后隆重的來(lái)看下“語(yǔ)法分析器模塊”,這個(gè)模塊的作用其實(shí)就是協(xié)調(diào)讀入的文本和其他模塊的關(guān)系。 def action(self,block,handler): () (block[1:].strip()) () return Trueclass ListRule(ListItemRule): type = 39。 in block and len(block) = 70 and not block[1] == 39。)這就是三個(gè)過濾器了,分別是:強(qiáng)調(diào)牌過濾器(用號(hào)標(biāo)出的),url牌過濾器,牌過濾器。)(r39。a href=mailto:%s%s/a39。h139。ul39。p39。 39。start_39。先來(lái)說(shuō)處理程序模塊,這個(gè)模塊的作用有兩個(gè),一個(gè)是提供那些固定的html標(biāo)記的輸出(每一個(gè)標(biāo)記都有start和end),另一個(gè)是對(duì)這個(gè)標(biāo)記輸出的開始和結(jié)束提供了一個(gè)友好的訪問接口。按照書上所說(shuō),重構(gòu)之后的程序,分為四個(gè)模塊:處理程序模塊,過濾器模塊,規(guī)則(其實(shí)應(yīng)該是處理規(guī)則),語(yǔ)法分析器。 def callback(self, prefix, name, *args): method = getattr(self,prefix+name,None) if callable(method): return method(*args) def start(self, name): (39。39。 def start_paragraph(self): print 39。 def start_list(self): print 39。 def start_title(self): print 39。 % ((1),(1)) def sub_mail(self, match): return 39。emphasis39。mail39。\n39。39。39。\*(.+?)\*39。([\.azAZ]+[\.azAZ]+[azAZ]+)39。還有其他的思路,可以留下您的真知灼見。 reportlab庫(kù)的使用這個(gè)例子著實(shí)很簡(jiǎn)單,不過我發(fā)現(xiàn)在python里面可以直接在數(shù)組[]里面寫for循環(huán),真是越用越方便。39。先來(lái)看下這個(gè)XML文件,:website page name=index title=Home page h1Wele to my Home page/h1 pHi, there. My name is ,and this is my home page,here are some of my int:/p ul lia href=interests/Shouting/a/li lia href=interests/Sleeping/a/li lia href=interests/Eating/a/li /ul /page directory name=interests page name=shouting title=Shouting h1shouting page/h1 p..../p /page page name=sleeping title=Sleeping h1sleeping page/h1 p.../p /page page name=eating title=Eating h1Eating page/h1 p..../p /page /directory/website有了這個(gè)文件,下面應(yīng)該來(lái)看怎么通過這個(gè)文件生成網(wǎng)站。所以處理這個(gè)xml文件的思路就變的清晰了。start39。39。name39。.html39。html\n head\n title39。public_html39。writeHeader,writeFooter。 到此為止,這個(gè)項(xiàng)目算是分析完了。39。\n39。%y%m%d39。39。s News/hi 39。/ul39。 /body /html 39。(?s)/a\s*br/\s*(.*?)\s*39。__main__39。 | 發(fā)布:20111230 3:31 . 幾乎在學(xué)習(xí)、使用任何一種編程語(yǔ)言的時(shí)候,關(guān)于socket的練習(xí)從來(lái)都不會(huì)少,尤其是會(huì)寫一些局域網(wǎng)的通信的東西。,8888))(5)while True: connection,addr = () revStr = (1024) (39。并且將每一個(gè)socket連接都托管給前者(async_chat)來(lái)處理。39。Please enter a name\r\n39。 has left the room.\r\n39。\r\n39。39。最終截圖:19
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1