学习Python中

这几天在研究Python,据说类库特别全,移植性很好,于是就想写个程序练手。过程中有想点法,记下来。

 

1。开发环境简单

      我是在WINDOWS下面开发的,用的是2.6的IDE,可能VS工具用习惯了,感觉这个IDE做的相当简单,很少有智能提示,即使偶尔有,也要半天的时间,还不如我自己打字快。

      缺少必要的语法检查功能(或许是我还没找到),每次想检查语法问题,都要运行一下才知道。有时候程序很长,半天才提示你出错了。这或许是解释型语言的缺点吧。

      解释环境经常出现问题,语法都正确的情况下,大概有三分之一的时间解决器会出错。只有很无奈的重新启动。我这是小程序,重启一次成本不大,如果是大程序,那岂不是很惨?

 

2。中文帮助比较少

     习惯找中文的帮助,结果发现不是太老就是没有。只能看下自带的帮助文档。对帮助文档怎么评价呢,做的还行,例子也特别生动,可能是英文帮助做的不错,不懂英文的人也能看懂,所以中文的文档就很少有的翻译了。

 

3。类库确实很强大

      之前做网页游戏的外挂,遇到的都是一些JSON或AMF的数据,用C#2。0做,解析这些数据结构还要自己写方法,很是麻烦。但小小的PYTHON只用包含几个类库就可以很好的解析出数据来。

 

4。总结

      语言本身不错,开发环境太差,希望有强人可以开发出更好用的环境。

================================================================

记录下几个小技巧,这些都是在写程序过程中从网上或帮助文件档中查到的,对以后肯定有帮助。

1。解析JSON数据

#! /usr/bin/env python
#coding=utf-8
import json

s = '[{"name":"鸟巢","point":{"lat":"39.990","lng":"116.397"},"desc":"奥运会主场地"},{"name":"北大乒乓球馆","point":{"lat":"39.988","lng":"116.315"},"desc":"乒乓球比赛场地"},{"name":"北京工人体育场","point":{"lat":"39.930","lng":"116.446"},"desc":"足球比赛场地"}]'

locations = json.loads(s)
print str(len(locations))
for location in locations:
    print location["name"]
    print location["point"]["lat"]

 

2。获取UNIX类型的时间(因为这次的写的游戏外挂要13位的时间,所以后面加了一个0)

#生成时间,要import time
def GetTime():
    s=time.time()
    ss=str(s*100)[0:12]+'0'#去掉小数点,再加一位
    return ss

 

3。给全局变量赋值(如果直接引用,会发现,程序会把它当成成员变量。应该按下面这么调用)

假设前面已定义全局变量sessionkey,在方法中引用是要先用global声明

        global sessionkey
        sessionkey=sessionkeycontent[begin+19:end]

 

4。登录网站保存cookie

cookiejar = cookielib.CookieJar()

#登录校内方法
def login(email,pwd):
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
    params = {'email':email, 'password':pwd}
    data = urllib.urlencode(params)
    fobj = opener.open('http://login.xiaonei.com/Login.do', data)

 

5。不同UnicodeDecodeError: 'ascii' codec can't decode错误解决方法

当用print打印不同编码格式的字符串时,如下面代码

name=u'汉字'
print name+'试试' 

肯定会提示错误,这时只要将后面一句变成print name+u'试试' ,即可

 

6。启动IDLE时不时会出现socket error,按如下方法解决

在Python的安装目录下,我这里是C:/Python24/Lib/idlelib/PyShell.py,找到这个PyShell.py,查找到use_subprocess = True,将后面那个改成False。(这个问题困扰了我两天了,终于解决了,眼泪花花滴)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值