八歧大蛇
人生苦短,请用Python
—— lili大神
Python原义大蟒蛇,我的翻译是”怕甚”
各种跨平台,各种库,各种方便…绝对是个八面玲珑的大蛇…
上次SauceForge们用它写了个”CPU占用率是亮点”的程序,居然又水进复赛…
在寝室堕落n天之后,今天折腾了个发短信的script…
以上除引用外都是废话,请无视…正文即将开始
不得不说symbian s60还是有眼光的,居然官方支持Python…
PyS60请移步这里下载(包括SDK和文档): s60第二版及以前 s60第三版及以后
我杯具的N70上的最新版本是1.4.5(Python版本2.2.2),当然,够用就好
(继续悄悄地想换手机了…)
翻了下文档,系统提供的API还是相当齐全的,包括对信息、联系人、日历、照相机、蓝牙、传感器…总之你能想到的手机功能都可以实现
于是写了个练了下手…
如果发现有多个人符合要求还应该让用户来选择(下图是在”收件人”一栏填了个”张”之后的情况):
代码就不贴了,在这里下载
折腾出来的几条…算是经验吧:
1)关于sms_send()这个函数
函数的原型是:
sms_send(number, msg, [encoding='7bit', callback=None, name="" ])
其中number和msg都是utf-8的字符串(想想电话号码里的”+86″你就理解了), encoding在我手机上是”UCS2″(应该是跟运营商有关)
上面的编码要严格遵循,否则会出现各种各样的乱码…
2)嗯…编码…所有要显示的字符串都点一个decode(‘utf-8′)吧…这样保险
3)raw_input()这个函数在脚本模式下运行不正常,按”OK”键没办法结束输入,不晓得是bug呢还是bug呢…
4)于是改用GUI读取输入了…相当简单,导入appuifw这个图形界面模块之后,appuifw.query()就是输入框,appuifw.popup_menu()就是弹出的单选框,appuifw.note()就是提示框
5)这样发出去的短信在发件箱里没保存,于是我猜想系统自带的那个信息程序还加了句把信息存到发件箱里…inbox那部分还没看,懒得加了= =b…



