设为首页 收藏本站
查看: 1274|回复: 0

[经验分享] 在iPad中运行Python

[复制链接]

尚未签到

发表于 2015-4-23 07:15:13 | 显示全部楼层 |阅读模式
  从一个喜欢编程的人的角度看,任何移动设备其实都只是“可编程计算器”。
  iPad上也有一个Python的解释器的应用Python for iOS。不过,让人气愤的是,这个应用竟然是收钱的(拿解释器卖钱?!)
  也有免费的python解释器,但都有各自的问题:
  1.营智python
  这个应用太过花哨了。能够编辑并运行脚本,不过,执行只能返回一个结果窗,不能用raw_input(),对很多库的支持也不全。(连decimal都没有)
  2.Python Math
  这个是一个交互的脚本解释器。不支持多行的输入!
  他的库还算是够用的,例如os、sympy等。raw_input()可用。
  有一些bug(从int到long的转换有问题),decimal库几乎不可用(可以用sympy替代)。
  
  这些事情让我们这种较真的人不禁感慨:我真想自己写一个免费的Python解释器到iPad上!
  且慢,Apple有奇葩政策:
  1.只能在iPad上运行来自Store的程序。
  2.不允许发布任何能够从iPad外部获得源代码的解释器。
  所以,想自己编译一个iPad版python解释器,你先花$99注册一个开发者帐号吧。。。
  
  不想花钱,我们只能折中:
  能否利用免费的python解释器,我们自己再用python实现一个稍微好一点的python环境呢?
  想做到这个,我们必须先能够导入一些自己写的模块(例如实现一个能克服int到long转换的bug的decimal库)。在苹果的眼中,这个应该是一个不可能的任务(你怎么确保你使用的没有经过苹果审核的代码里没有恶意的成分?!)
  不过,这还是可能的。
  Python Math中提供了os模块,并且可以open文件。
  于是乎,我们可以构造这样的代码:
  open('decimal2.py','w').write('print "hello world"')
  想执行的时候:
  execfile('decimal2.py')
  这样,就可以实现代码文件的导入了。
  另外一个好事情是,Python Math里粘贴多行的文本是没有问题的。
  下面举个具体的例子:先在pc端找到decimal.py,付出一点时间让他能够在int有bug的环境里工作。
  把修改好的decimal.py改成decimal.txt,加上open和write的头。
  之后,通过iPad上的一些文字处理应用(例如PlainText),把pc端处理好的代码上传到iPad,之后在PlainText里面全选、复制(注意:PlainText处理超长的文本有巨大的性能问题!)。
  然后粘贴到Python Math,回车。这样,就把我们写的库“导入”进去了。
  以后我们再想用decimal的时候,只用import decimal2就可以用我们自己写的模块了。
  
  有了一个decimal,我们自然想要更多。
  例如:
  实现一个ed编辑器?
  不过,这个就是一个很长的路了。。。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59756-1-1.html 上篇帖子: Python的作用域 下篇帖子: python迭代器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表