今天在外面试图使用机器人的时候,机器人再度崩溃。这个机器人在处理中文的时候极其不稳定,其原因在于Python2处理字符串时默认使用ascii编码。在程序里显式的转换几次以后,我已经不清楚哪需要ascii编码哪需要utf-8,哪个字符串是ascii,哪个字符串是utf-8了。一方面是由于python处理变量的方式比较随意,另一方面它没有从底层支持utf-8,使得这些问题十分恶心。
其解决方案,python给出的是,用python3。python3改了一些语法,使语言更加严密,但是无法兼容旧代码。之前用的xmpppy好像也没做出python3的支持。于是需要从头来一遍。虽然代码重写很麻烦,但是代码的基本逻辑已经确定了,也不是太费脑子的事情。
另外,今天机器人崩溃的时候,我还没有得到家里的ip,这样我就没有办法重启机器人,无法登ssh。于是我在blog的空间里写了一个小脚本,能够记录一个ip地址。然后在树莓派上写了另一个脚本,每十分钟检查一下家里宽带的ip,和空间里的比较,不一样的话就重置空间里的ip。这样我最长等十分钟就可以连上家里的ssh了。
这种永远可以连线的感觉,好像延长了干预世界的触手。。。
评论
发表评论