Time of Update: 2016-06-10
使用ghost.py 通過搜搜 的搜尋來爬取公用帳號的資訊# -*- coding: utf-8 -*-import sysreload(sys)import datetimeimport timesys.setdefaultencoding("utf-8") from ghost import Ghostghost = Ghost(wait_timeout=20) url="http://weixin.sogou.com/gzh?openid=oIWsFt8JDv7xubXz5E3U4
Time of Update: 2016-06-10
什麼是詞幹提取?在語言形態學和資訊檢索裡,詞幹提取是去除詞綴得到詞根的過程─—得到單詞最一般的寫法。對於一個詞的形態詞根,詞幹並不需要完全相同;相關的詞映射到同一個詞幹一般能得到滿意的結果,即使該詞幹不是詞的有效根。從1968年開始在電腦科學領域出現了詞幹提取的相應演算法。很多搜尋引擎在處理詞彙時,對同義字採用相同的詞幹作為查詢拓展,該過程叫做歸併。一個面向英語的詞幹提取器,例如,要識別字串“cats”、“catlike”和“catty”是基於詞根“cat”;“stemmer”、“stemmin
Time of Update: 2016-06-10
一、簡介 Python的條件和迴圈語句,決定了程式的控制流程程,體現結構的多樣性。須重要理解,if、while、for以及與它們相搭配的 else、 elif、break、continue和pass語句。二、詳解1、if語句 Python中的if子句由三部分組成:關鍵字本身、用於判斷結果真假的條件運算式以及當運算式為真或者非零時執行的代碼塊。if 語句的文法如下:if expression: expr_true_suite if
Time of Update: 2016-06-10
隨機整數:複製代碼 代碼如下:>>> import random>>> random.randint(0,99)21隨機選取0到100間的偶數:複製代碼 代碼如下:>>> import random>>> random.randrange(0, 101, 2)42隨機浮點數:複製代碼 代碼如下:>>> import random>>> random.random() 0.85415370477785668>>> random.uniform(1,
Time of Update: 2016-06-10
首先通過一個例子來看一下本文中可能用到的對象和相關概念。 #coding: UTF-8 import sys # 模組,sys指向這個模組對象 import inspect def foo(): pass # 函數,foo指向這個函數對象 class Cat(object): # 類,Cat指向這個類對象 def __init__(self, name='kitty'): self.name = name def sayHi(self): #
Time of Update: 2016-06-10
之前在網上看過一些介紹Django處理請求的流程和Django源碼結構的文章,覺得瞭解一下這些內容對開發Django項目還是很有協助的。所以,我按照自己的邏輯總結了一下Django項目的運行方式和對Request的基本處理流程。一、Django的運行方式運行Django項目的方法很多,這裡主要介紹一下常用的方法。一種是在開發和調試中經常用到runserver方法,使用Django自己的web
Time of Update: 2016-06-10
先看下object類中對__new__()方法的定義: class object: @staticmethod # known case of __new__ def __new__(cls, *more): # known special case of object.__new__ """ T.__new__(S, ...) -> a new object with type S, a subtype of T """ pass
Time of Update: 2016-06-10
單例模式是一種常用的軟體設計模式。在它的核心結構中只包含一個被稱為單例類的特殊類。通過單例模式可以保證系統中一個類只有一個執行個體而且該執行個體易於外界訪問,從而方便對執行個體個數的控制並節約系統資源。如果希望在系統中某個類的對象只能存在一個,單例模式是最好的解決方案。單例模式的要點有三個;一是某個類只能有一個執行個體;二是它必須自行建立這個執行個體;三是它必須自行向整個系統提供這個執行個體。在Python中,單例模式有以下幾種實現方式。方法一、實現__new__方法,然後將類的一個執行個體綁定
Time of Update: 2016-06-10
使用命令列時,如果要添加選項的話,python 2.3裡新增加了一個模組叫optparse,也是專門來處理命令列選項的。複製代碼 代碼如下:from optparse import OptionParser parser = OptionParser() parser.add_option("-p", "--pdbk", action="store_true", dest="pdcl", default=False,
Time of Update: 2016-06-10
如果直接在命令列中利用input和raw_input讀入一個檔案來處理,並且想要採用直接將檔案拖入命令列來處理的方式,input方法可以直接處理,而如果要採用raw_input的方法的話,讀入檔案地址會帶有引號,還需要自己手動去掉引號才能處理檔案。在ipython中測試一下代碼:(讀入一個圖片檔案的地址字串) a = input("input a:\n") print "the input method: ",a b = raw_input("input b:\n")
Time of Update: 2016-06-10
最近在做遊戲服務分層的時候,一直想把mysql的訪問獨立成一個單獨的服務DBGate,原因如下: 請求收攏到DBGate,可以使DBGate變為無狀態的,方便橫向擴充 當請求量或者儲存量變大時,mysql需要做分庫分表,DBGate可以內部直接處理,外界無感知 通過restful限制對資料請求的形式,僅支援簡單的get/post/patch/put 進行增刪改查,並不支援複雜查詢。這個也是和遊戲業務的特性有關,如果網站等需要複雜查詢的業務,對此並不適合
Time of Update: 2016-06-10
flask中的sqlalchemy 相比於sqlalchemy封裝的更加徹底一些 , 在一些方法上更簡單首先import類庫:在CODE上查看代碼片派生到My Code片 from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy 然後,需要載入 資料庫路徑在CODE上查看代碼片派生到My Code片
Time of Update: 2016-06-10
剛開始學習python,python相對於java確實要簡潔易用得多。記憶體回收類似hotspot的可達性分析,
Time of Update: 2016-06-10
“Django應用、設定檔以及其他各種相關目錄的最佳布局是什麼樣的?”總是有朋友問我們這個問題,因此我想花一點時間,寫一下我們究竟是如何看待這個問題的,這樣我們就可以很容易讓其他人蔘照這個文檔。請注意,這裡是基於 Django 1.7.1 版寫的,但是可以很容易應用在 Django 1.4 版之後任何版本。雖然 Django 1.4 發布時,它包含了一個改進後的項目布局(這還用了很長一段時間),但本文有一些最佳化項目布局的更好建議。為什麼這種布局比較好我們在這裡推薦項目布局有幾個優點,即:
Time of Update: 2016-06-10
Regex是一種特殊序列的字元,它通過使用有專門文法的模式來匹配或尋找其他字串或字串集合。文法Regex從字面上看是一種介於斜杠之間或介於跟在 %r 後的任意分隔字元之間的模式,如下所示:/pattern//pattern/im # 可以指定選項%r!/usr/local! # 一般的分隔的Regex執行個體#!/usr/bin/ruby line1 = "Cats are smarter than dogs";line2 = "Dogs also like meat"; if ( line1
Time of Update: 2016-06-10
1. 過程概述Python先把代碼(.py檔案)編譯成位元組碼,交給位元組碼虛擬機器,然後虛擬機器一條一條執行位元組碼指令,從而完成程式的執行。2. 位元組碼位元組碼在Python虛擬機器程式裡對應的是PyCodeObject對象。.pyc檔案是位元組碼在磁碟上的表現形式。3. pyc檔案PyCodeObject對象的建立時機是模組載入的時候,即import。Python
Time of Update: 2016-06-10
Ruby 是一門通用的語言,不僅僅是一門應用於WEB開發的語言,但 Ruby 在WEB應用及WEB工具中的開發是最常見的。使用Ruby您不僅可以編寫自己的SMTP伺服器,FTP程式,或Ruby Web伺服器,而且還可以使用Ruby進行CGI編程。接下來,讓我們花點時間來學校Ruby的CGI編輯。編寫 CGI 指令碼最指令碼的 Ruby CGI 代碼如下所示:#!/usr/bin/ruby puts "HTTP/1.0 200 OK" puts "Content-type:
Time of Update: 2016-06-10
multiprocessing.Pipe([duplex]) 返回2個連線物件(conn1, conn2),代表管道的兩端,預設是雙向通訊.如果duplex=False,conn1隻能用來接收訊息,conn2隻能用來發送訊息.不同於os.open之處在於os.pipe()返回2個檔案描述符(r, w),表示可讀的和可寫的執行個體如下:複製代碼 代碼如下:#!/usr/bin/python#coding=utf-8import osfrom multiprocessing import
Time of Update: 2016-06-10
前兩天剛裝了python 3.1.1, 禁不住技癢寫點code。1.選擇排序複製代碼 代碼如下:>>> def SelSort(L): length=len(L) for i in range(length-1): minIdx=i minVal=L[i] j=i+1 while j if minVal>L[j]: minIdx=j minVal=
Time of Update: 2016-06-10
實際上JSON就是Python字典的字串表示,但是字典作為一個複雜物件是無法直接傳遞,所以需要將其轉換成字串形式.轉換的過程也是一種序列化過程.用json.dumps序列化為json字串格式複製代碼 代碼如下:>>> import json>>> dic {'Connection': ['keep-alive'], 'Host': ['127.0.0.1:5000'], 'Cache-Control': ['max-age=0']}>>> jdict =