星期四, 10月 21, 2010

Data store encoding issue

唔, 為了省空間, 想把一些放在app engine data store裡的文字, 用zlib壓縮起來放到blob裡. 在壓的過程中發現一些exception. 找了一些方法, 現在大致可以運作了...

原本

import zlib

compressed = zlib.compress(log)  # 這行就會發生exception

現在改成

compressed = zlib.compress(log.encode('utf-8'))  # 這樣就可以了

但是在unzip的時候, 也要decode回來.

zlib.decompress(compress).decode('utf-8')

這樣內容才會對喔...

星期三, 10月 20, 2010

Python 的簡短寫法

python裡有時候我需要取得一個str的長度. len(a). 但是a有時候可能是None. 所以我就要

length = 0
if a:
    length = len(a)

這樣子要三行吶.

後來得知可以這樣寫
length = len(a) if a else 0

cool!

星期五, 10月 08, 2010

Entity group

慢慢對App enginedata model有感覺了, 之前還習慣用SQL的時候, 總覺得要抓什麼都得用query, 所以在App engine裡也不自覺地動不動就用下面這三種方法來抓data, 即使只要抓一筆資料回來.