Time of Update: 2016-06-10
還是那個題目(題目和流程見java版本),感覺光用java寫一點新意也沒有,恰巧剛學習了python,何不拿來一用,呵呵:伺服器端:import SocketServer, time class MyServer(SocketServer.BaseRequestHandler): userInfo = { 'yangsq' : 'yangsq', 'hudeyong' : 'hudeyong', 'mudan' : 'mudan' } def
Time of Update: 2016-06-10
自python2.6開始,新增了一種格式化字串的函數str.format(),可謂威力十足。那麼,他跟之前的%型格式化字串相比,有什麼優越的存在呢?讓我們來揭開它羞答答的面紗。文法它通過{}和:來代替%。“映射”樣本通過位置In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{},{}'.format('kzc',18) Out[2]: 'kzc,18' In [3]: '{1},{0},{1}'.format('kzc',1
Time of Update: 2016-06-10
本文執行個體講述了Python使用scrapy採集資料過程中放回下載過大頁面的方法。分享給大家供大家參考。具體分析如下:添加以下代碼到settings.py,myproject為你的項目名稱複製代碼 代碼如下:DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.LimitSizeHTTPClientFactory'自訂限制下載過大頁面的模組複製代碼 代碼如下:MAX_RESPONSE_SIZE = 1048576 # 1Mbfrom
Time of Update: 2016-06-10
本文執行個體講述了Python使用scrapy抓取網站sitemap資訊的方法。分享給大家供大家參考。具體如下:import refrom scrapy.spider import BaseSpiderfrom scrapy import logfrom scrapy.utils.response import body_or_strfrom scrapy.http import Requestfrom scrapy.selector import HtmlXPathSelectorclass
Time of Update: 2016-06-10
StringIO經常被用來作為字串的緩衝,應為StringIO有個好處,他的有些介面和檔案操作是一致的,也就是說用同樣的代碼,可以同時當成檔案操作或者StringIO操作。比如:複製代碼 代碼如下:import string, os, sysimport StringIOdef writedata(fd, msg): fd.write(msg) f = open('aaa.txt', 'w')writedata(f, "xxxxxxxxxxxx")f.close()s =
Time of Update: 2016-06-10
壓縮資料建立gzip檔案先看一個略麻煩的做法 import StringIO,gzipcontent = 'Life is short.I use python'zbuf = StringIO.StringIO()zfile = gzip.GzipFile(mode='wb', compresslevel=9, fileobj=zbuf)zfile.write(content)zfile.close()但其實有個快捷的封裝,不用用到StringIO模組 f =
Time of Update: 2016-06-10
py2exe在sourceforge 的下載只支援到2.7。針對python3.0+的版本,需要自己編譯。1.下載源碼svn checkout svn://svn.code.sf.net/p/py2exe/svn/trunk py2exe-svn2.編譯環境這裡使用的是vs2014.3.安裝進入py2exe-3python setup.py install這裡會進行編譯、安裝。此外,python預設使用的是vs9,針對vs2014,需要改下檔案:複製代碼
Time of Update: 2016-06-10
本文執行個體講述了python中Genarator函數用法。分享給大家供大家參考。具體如下:Generator函數的定義與普通函數的定義沒有什麼區別,只是在函數體內使用yield產生資料項目即可。Generator函數可以被for迴圈遍曆,而且可以通過next()方法獲得yield產生的資料項目。def func(n): for i in range(n): yield i for i in func(3): print i r=func(3) print r.next()
Time of Update: 2016-06-10
本文執行個體講述了python檔案寫入的用法。分享給大家供大家參考。具體分析如下:Python中wirte()方法把字串寫入檔案,writelines()方法可以把列表中儲存的內容寫入檔案。f=file("hello.txt","w+")li=["hello world\n","hello china\n"]f.writelines(li)f.close()檔案的內容:hello worldhello
Time of Update: 2016-06-10
python對多國語言的處理是支援的很好的,它可以處理現在任意編碼的字元,這裡深入的研究一下python對多種不同語言的處理。有一點需要清楚的是,當python要做編碼轉換的時候,會藉助於內部的編碼,轉換過程是這樣的:複製代碼 代碼如下:原有編碼 -> 內部編碼 ->
Time of Update: 2016-06-10
本文執行個體講述了python中requests模組的使用方法。分享給大家供大家參考。具體分析如下:在HTTP相關處理中使用python是不必要的麻煩,這包括urllib2模組以巨大的複雜性代價擷取綜合性的功能。相比於urllib2,Kenneth
Time of Update: 2016-06-10
Mako是一個高效能的Python模板庫,它的文法和API借鑒了很多其他的模板庫,如Django、Jinja2等等。基本用法建立模板並渲染它的最基本的方法是使用 Template 類: from mako.template import Templatet = Template('hello world!')print t.render()傳給 Template 的文本參數被編譯為一個Python模組。模組包含一個 render_body() 函數,它產生模板的輸出。調用 render()
Time of Update: 2016-06-10
本文執行個體分析了python集合類型用法。分享給大家供大家參考。具體分析如下:python的集合類型和其他語言類似, 是一個無序不重複元素集,我在之前學過的其他的語言好像沒有見過這個類型,準系統包括關係測試和消除重複元素. 集合對象還支援union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數學運算,和我們初中數學學的集合的非常的相似。一、先看下python 集合類型的不重複性,這方面做一些去重處理非常的好,
Time of Update: 2016-06-10
本文較為詳細的分析了python記憶體管理機制。分享給大家供大家參考。具體分析如下:記憶體管理,對於Python這樣的動態語言,是至關重要的一部分,它在很大程度上甚至決定了Python的執行效率,因為在Python的運行中,會建立和銷毀大量的對象,這些都涉及到記憶體的管理。小塊空間的記憶體池在Python中,許多時候申請的記憶體都是小塊的記憶體,這些小塊記憶體在申請後,很快又會被釋放,由於這些記憶體的申請並不是為了建立對象,所以並沒有對象一級的記憶體池機制。Python記憶體池全景這就意味著Py
Time of Update: 2016-06-10
HTMLParser是python用來解析html的模組。它可以分析出html裡面的標籤、資料等等,是一種處理html的簡便途徑。HTMLParser採用的是一種事件驅動的模式,當HTMLParser找到一個特定的標記時,它會去調用一個使用者定義的函數,以此來通知程式處理。它主要的使用者回呼函數的命名都是以handler_開頭的,都是HTMLParser的成員函數。當我們使用時,就從HTMLParser派生出新的類,然後重新定義這幾個以handler_開頭的函數即可。這幾個函數包括:handle
Time of Update: 2016-06-10
uuid是一種唯一標識,在許多領域作為標識用途。python的uuid模組就是用來產生它的。閑話不說,python提供的產生uuid的方法一共有4種,分別是:1.從硬體地址和時間產生2.從md5演算法產生3.隨機產生4.從SHA-1演算法產生他們在uuid模組裡對應uuid1, uuid3, uuid4, uuid5這幾個方法,注意沒有uuid2。下面是樣本: 複製代碼 代碼如下:#-*- encoding: gb2312 -*-import uuidprint
Time of Update: 2016-06-10
一、簡介 XML(eXtensible Markup Language)指可延伸標記語言 (XML),被設計用來傳輸和儲存資料,已經日趨成為當前許多新生技術的核心,在不同的領域都有著不同的應用。它是web發展到一定階段的必然產物,既具有SGML的核心特徵,又有著HTML的簡單特性,還具有明確和結構良好等許多新的特性。 python解析XML常見的有三種方法:一是xml.dom.*模組,它是W3C DOM API的實現,若需要處理DOM API則該模組很適合,注意xml.
Time of Update: 2016-06-10
一、簡介 多線程編程技術可以實現代碼並行性,最佳化處理能力,同時功能的更小劃分可以使代碼的可重用性更好。Python中threading和Queue模組可以用來實現多線程編程。二、詳解1、線程和進程 進程(有時被稱為重量級進程)是程式的一次執行。每個進程都有自己的地址空間、記憶體、資料棧以及其它記錄其運行軌跡的輔助資料。作業系統管理在其上啟動並執行所有進程,並為這些進程公平地分配時間。進程也可以通過fork和spawn操作來完成其它的任務,不過各個進程有自己的記憶體空間、
Time of Update: 2016-06-10
前面簡單提到了 Python 類比登入的程式,但是沒寫清楚,這裡再補上一個帶注釋的 Python 類比登入的樣本程式。簡單說一下流程:先用cookielib擷取cookie,再用擷取到的cookie,進入需要登入的網站。 # -*- coding: utf-8 -*- # !/usr/bin/python import urllib2 import urllib import cookielib import re auth_url = 'http://www.nowamagic.net/'
Time of Update: 2016-06-10
文章摘要:其實這裡casperjs與python沒有直接關係,主要依賴casperjs調用phantomjs webkit擷取html檔案內容。長期以來,爬蟲抓取 用戶端javascript渲染產生的html頁面 都極為 困難, Java裡面有 HtmlUnit, 而Python裡,我們可以使用獨立的跨平台的CasperJS。 建立site.js(介面檔案,輸入:url,輸出:html file) //USAGE: E:\toolkit\n1k0-casperjs-e3a77d0\