2008年11月21日星期五

不动笔墨不读书

基于 python 2.2.2 的 pys60 里是不存在 enumerate() 的…… 因为在 2.3+ 里它才内置。(找到了有趣的东西,虽然半懂不懂: http://www-128.ibm.com/developerworks/cn/linux/l-cpyiter/index.html 可爱的 Python:使用 itertools 模块中的组合函数)我用了 zip(a,range(0,len(a))) 来代替。事实上我第一个可以用的修改方案是把序号在循环体外初始化为 -1 ,每次循环自加 1 ——虽然在这里运行通过,不过实在是丑得天怒人怨啊。本来打算直接 for i in range(0,len(a)) 然后取对应的 a[i] ,可是不行,因为 a==[] 的情形下直接取会越界……我是笨蛋。
在手机上 dir了一下,貌似 pys60 自己有加密模块?反正我不加密或者隐藏数据,所以把它弄掉了。好奇怪,为什么 pys60 不承认 bool 是类…… dir 里明明有!我只好把那个分支注释掉。
写入中文字只能用 decode('utf-8') ,否则还是会乱码。跟编码相关的我直接弄成了 utf-8 。
其实这些都还好,可怕的是加载速度实在慢……死……了…… 毕竟 20 多 k 的源代码,用 Ped 光打开也得半天~看来还得接着砍!当然,如果没得砍了也可以考虑编译成 pyc ,不过体积又会膨胀了 (>_<) 手机 c 盘空间也是很宝贵的 (T_T)

没有评论:

发表评论