公告版位
新版Blog peichengnote

目前分類:python (64)

瀏覽方式: 標題列表 簡短摘要
在flask 的  design 有幾個 concept。
Context (應用下上文) 就是其中一個例子。

The context is typically used to cache resources on there that need to be created on a per-request or usage case. For instance database connects are destined to go there.

应用上下文 — Flask 0.10.1 文档
http://docs.torriacg.org/docs/flask/appcontext.html?highlight=%E5%BA%94%E7%94%A8%E4%B8%8A%E4%B8%8B%E6%96%87

Introduction into Contexts — Flask-SQLAlchemy 0.16 documentation
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()


Suffix Arrays
http://algorithmicalley.com/archive/2013/06/30/suffix-arrays.aspx


文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

python str unicode

str.decode('utf-8') -> unicode
從 ascii 轉成 unicode

encode 反來把 unicode 轉成 ascii

想要f.write utf-8 file 可以使用

import codecs
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()


在 python 裡面split 使用 multiple delimiters 可以使用 re
import re
re.split(',|.')
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

有時候使用外部指令來 執行 python的程式,
想要取得該程式 的 實際路徑位置
可以使用 os.path.abspath(__file__) 來獲取 路徑位置的資訊。


import os
dirname, filename = os.path.split(os.path.abspath(__file__))

cf.
python - Find current directory and file's directory - Stack Overflow
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()


使用 MySQLdb 連結到 MySQL
有幾點值得注意

盡量都使用utf-8編碼,確保 中文 可以順利 insert進去
若是為select fetchall時出來的 data 是unicode 

conn =MySQLdb.connect(host=config.get('mysql','host'),user=config.get('mysql','user'),passwd=config.get('mysql','passwd'),charset="utf8")

使用 UNI.encode('utf-8') 轉成 str  方便與原始的data比對


文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

稍微做了一個測試把一個字典檔載入到dict裡面,
結構為 dict[term]=詞頻

$ ls -al /usr/local/lib/python2.7/dist-packages/jieba-0.30-py2.7.egg/jieba/dict.txt
-rw-r--r-- 1 root staff 8583143 7月 15 16:11 /usr/local/lib/python2.7/dist-packages/jieba-0.30-py2.7.egg/jieba/dict.txt

字典檔大小是 8M
生成的 python dict 是 25M
25166104

文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()


est
11:12 (23 小時前)

寄給 python-cn
解决GIL 那是不可能的事情。本菜就来总结下:

1. C/C++ 手动管理。
2. perl 重来都是fork
3. tcl / lua 一个core一个解释器
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()


- WSGI a specification for Python web applications Werkzeug follows
Python Web Server Gateway Interface (WSGI).

#WSGI
This document specifies a proposed standard interface between web servers and Python web applications or frameworks, to promote web application portability across a variety of web servers.

Important Terms — Werkzeug 0.10-dev documentation
http://werkzeug.pocoo.org/docs/terms/#wsgi
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

[python] python OCR

temp to write 130529
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()



可能有使用一些 import
到新的環境中,
最好是使用pip or easy_install ,virtualenv直接安裝那些import

可以把需要安裝的package 寫在 requirements.txt
pip install -r requirements.txt


文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

NeedIndexError: The index for this query is not ready to serve. See the Datastore Indexes page in the Admin Console.

剛update 等待ing


去 https://appengine.google.com/datastore/indexes?&app_id=ID

等看到绿色的 【Serving】 就行了。
如果看到灰色的【Building】,就继续等。
如果什么都没看到,就说明你改动了不该改动的文件。
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

python - How can I create a GzipFile instance from the “file-like object” that urllib.urlopen() returns? - Stack Overflow
http://stackoverflow.com/questions/4204604/how-can-i-create-a-gzipfile-instance-from-the-file-like-object-that-urllib-url

AttributeError: addinfourl instance has no attribute
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

[python]detect webpage encode big5 utf-8

情境
常常在我們使用urllib urlopen 後,
我們fetch了一個網頁,但是使用print 或者是後續導到某些framework時
卻發生,

at
'utf8' codec can't decode byte 0xc1 in position 0: invalid start byte

文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

Help

Reason given for failure:

CSRF token missing or incorrect.


In general, this can occur when there is a genuine Cross Site Request Forgery, or when Django's CSRF mechanism has not been used correctly. For POST forms, you need to ensure:

Your browser is accepting cookies.
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

[python]speedup your dict get method

在寫WM algo的時候,使用python dict,
pattern數9 最短長度為2
test file 90M result file 4.8M
用profile看了一下時間的瓶頸,大部份再原版本的get也就是取hash值的地方filter。

$time python wm4pc.py > tmp.pcpc5

Time spent in user mode (CPU seconds) : 37.743s
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

在測試與開發的時候常常如果沒有autoreload server的話都要自己關掉重開


web.config.debug=True



if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

django.db.utils.DatabaseError: database is locked freebsd
在看範例的時候照著實作,想說用一下sqlite來當db。
工作站上一直出現,
django.db.utils.DatabaseError: database is locked
這個錯誤。
有解是說
把db 檔加上 w權限,
也就是 chomd 666 name.db
或者是說,
把DATABASE的選項加上timeout,
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()


在做備份的程式的時候常常會用到
要怎麼取得前一天的日期呢


import datetime
yday=datetime.date.today() - datetime.timedelta(days=1)
print yday.strftime("%y%m%d")


文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

5. Built-in Types — Python v2.7.3 documentation
http://docs.python.org/library/stdtypes.html#str.zfill
Python: Nicest way to pad zeroes to string - Stack Overflow
http://stackoverflow.com/questions/339007/python-nicest-way-to-pad-zeroes-to-string


python int 補零

$python
Python 2.7.2 (default, Oct 12 2011, 01:40:25)
文章標籤

peicheng 發表在 痞客邦 留言(0) 人氣()

1 234