Python
文章平均质量分 52
hong201
飘过Web App,来到Game Dev,关注Android。目前专注于PC Game,望志同道合的朋友一起交流,共同进步!——Simple is better!
展开
-
让GAE再飞一会
<br />GAE不能访问,很是悲惨。再加个host搞定<br /> #coding=utf8import osdef add_gae_access(): host_file_path = os.path.join(os.getenv('windir'), 'system32/drivers/etc/hosts') with file(host_file_path, 'ab') as f: f.write("%s#GAE access%s2原创 2011-02-28 23:37:00 · 6382 阅读 · 0 评论 -
试玩Google App Engine
周末闲着,就想去玩下GAE,账号早就申请好了,只是没有时间罢了。现在刚好。 下了sdk,边看文档边边照着例子做,只不过文档中是简单例子是用webapp将的,而我比较喜欢用django了所了就改用django玩了: manage.py startproject demomanage.py startapp demoapp 修改setting.pyROOT_URLC原创 2008-12-07 17:26:00 · 739 阅读 · 0 评论 -
python3k与python2.x共存下使得django应用正常解决之道
python新版本发布了,装了python3k,但是和原来的python2.5版本有点小小的冲突。如果在linux下,当然不会有冲突了,ln一下各个版本就可以区分开了,在windows下就没有那么友好了。这里之所以说是小小的冲突,是因为单独的开python自带的IDE没有问题。如果装了django,启动django应用的时候就会出现如下错误:========================原创 2008-12-05 20:11:00 · 1546 阅读 · 0 评论 -
django0.9和django1.0共存之道
老项目用的是djagno0.9,现在开始了一个新的项目,用的是djang1.0。在做这个新的项目的时候,有时候需要维护一下老项目,这就需要在django.96和django1.0之间来回切换。如果切换一次罢了,只不过做如下改名:site-packages目录下文件夹名: django1.0.2 django0.96原创 2008-12-06 20:04:00 · 1006 阅读 · 0 评论 -
python3k正式发布了!
万人期待的python3k经过3个RC版本之后,终于在Dec 3 2008, 20:14:27发布了,赶快下载下来看看新变化。 自带的编辑器有语法着色了,好看多了。文档也加了样式,颜色字体好看多了。 当然,语法变了一下,诸如 :print==================>print() 增加了一些包,如:json, 移除了一些包,诸如urllib2,原创 2008-12-04 22:07:00 · 1122 阅读 · 0 评论 -
python整理二十四——让simplejson支持datetime类型的序列化
simplejson是python的一个json包,但是觉得有点不爽,就是不能序列化datetime,稍作修改就可以了:# 可以序列化时间的jsonimport datetimeimport decimalimport simplejsondef safe_new_datetime(d): kw = [d.year, d.month, d.day] if原创 2009-02-13 21:19:00 · 3281 阅读 · 1 评论 -
python整理二十三——获取函数名
def test_fn(): pass 如上面这个函数,想动态获取该函数名"test_fn",如果直接写函数名字符串就买啥意思,且看如下: def test_fn(): import sys fn_name = (lambda:sys._getframe(1).f_code.co_name)() print fn_name 呵,还算原创 2009-02-13 18:53:00 · 3547 阅读 · 0 评论 -
python整理二十二——dict类型用点号访问
看了一部分webpy的源码,里面有些代码挺有用,扣出来用用,其中dict类型用属性到方式访问:d1 = {csdn : csdn.net}取值 d1[csdn] ---> csdn.net用点号访问 d1.csdn ---> csdn.net ----------------------------------------------------------原创 2009-01-21 16:41:00 · 4172 阅读 · 0 评论 -
python整理二十一——用PIL生成验证码
python的PTL库,在图片处理方面太强大了,以前偶尔用过几次,最近弄个验证码玩玩:def test(): import Image import ImageDraw import ImageFont import random import md5 dt = datetime.datetime.now() im, dra原创 2009-01-21 16:30:00 · 1836 阅读 · 0 评论 -
python整理二十——连接MySQ和MSSQL
关于连接数据库,mysql和mssql的库不一样,连接参数名也不一样,需要注意! host = user = pwd = dbname = conn_my, conn_ms = None, None import MySQLdb conn_my = MySQLdb.connect(host=原创 2008-11-12 19:46:00 · 1158 阅读 · 0 评论 -
webpy浅谈
以前用djagno用着习惯了,感觉非常舒服。这几天有时间,看了下webpy,边看边动手做了一个小例子webpy-guestbook。 感觉webpy比django轻盈,且很多地方有着ROR的影子,就自己的感觉来说,它的模板语言要比django强大,因为它可以执行python的语句,而django模板不能执行python语句,需要自己写filter,tag等等。 如果原创 2008-12-24 19:47:00 · 1822 阅读 · 0 评论 -
EditPlus中配置python,lua环境
EditPlus是我常用的文件编辑器之一,用它来下脚本程序甚是方便,下面来看看如果配置吧:1.先到www.editplus.com上下载editplus.exe,一步一步安装就好了,只有30天的试用期。2.来配置python环境,到www.editplus.com 上下载python配置环境,要下载对应的版本啊。 1):打开editplus,工具--》首选项--》用户工具点击组原创 2009-04-26 18:21:00 · 4947 阅读 · 0 评论 -
python整理二十五——谈谈浅拷贝与深拷贝
python中的浅拷贝深拷贝的概念和C++里面的浅拷贝深拷贝是一样的。所谓浅拷贝就是对引用的拷贝,所谓深拷贝就是对对象的资源的拷贝,边看例子边解释: #1>>> ls1 = [1,2,3,4,5]>>> c_ls1 = ls1>>> c_ls1[-1] = -1>>> ls1[1, 2, 3, 4, -1]>>> c_ls1[1, 2, 3, 4, -1]原创 2009-04-26 23:31:00 · 11973 阅读 · 4 评论 -
wxPython一
wxPython是一个基于wxWidgets的跨平台界面库,同类的界面库还有GTK,QT等等,笔者使用的环境是Windows XP+Python2.6+wxPython2.8。wxPython下载地址:http://downloads.sourceforge.net/project/wxpython/wxPython/2.8.9.2/wxPython2.8-win32-unicode-2.8.9.原创 2010-03-07 15:02:00 · 5492 阅读 · 0 评论 -
PyQT first demo
PyQT first demoQt是一个跨平台的界面库,PyQt就是它的Python版本了,Python的界面库除了PyQt之外,还有wxPython,TK等。环境:Windows+Python2.6+Qt1.下载安装环境python2.6:www.python.orgPyQt2.6:http://www.riverbankcomputing.co.uk/static/Download原创 2010-02-24 21:40:00 · 2753 阅读 · 1 评论 -
python简单的可逆加密程序
简单加密,用python来写写。 #coding=utf-8 Description: 可逆的加密与解密 Environment: python2.5.x Author:idehong@gmail.comimport osimport sysclass Code(object): 可逆的加密与解密原创 2009-12-15 20:46:00 · 2925 阅读 · 0 评论 -
dll调用的来龙去脉
关于dll的介绍可以在这里看到http://support.microsoft.com/kb/815065/zh-cn,这个算是官方解释了。 1.dll生成dll的入口如下,就像应用程序的main函数一样,其中DLL_PROCESS_ATTACH是dll被调用的执行处理,DLL_PROCESS_DETACH是被卸载的时候的调用。 BOOL APIENTRY DllMain( HA原创 2009-08-30 17:04:00 · 983 阅读 · 0 评论 -
Google App Engine版本的dlog
可爱的python,以后可能要用的少一点了,留恋一下python,利用了几天的下班后的时间在GAE平台上做了个dlog应用。所谓dlog,先让我回忆一下小时候,那时候天天要写日记,被老师逼着写,烦!现在反而自愿想写日志了,记录下每天的一些东西,三言两语,就让dlog来做这个作用吧。 dlog地址:http://idehong.appspot.comfirefox下做的,估计IE下会有点原创 2009-06-05 20:47:00 · 968 阅读 · 0 评论 -
google app engine——python时区转换
GAE玩了有一段时间了,现在突然发现在GAE的python应用中,获取的时间是UTC时间,但我清楚记得,之前获取的时间是本地时间啊!!一个应用应该有一个时间参考点的,大多数应用应该是以本地时间为参考点。 python2.5中:>>> import datetime>>> datetime.datetime.now()datetime.datetime(2009, 5, 26, 20原创 2009-05-26 20:13:00 · 5488 阅读 · 0 评论 -
python整理二十七——egg文件制作与安装
python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署,仅此一点,给多少pythoner带来了多少激动。如何制作egg文件呢?see官方文档http://peak.telecommunity.com/DevCenter/PythonEggs,到http://pypi.python.org/pypi/setuptools下载setuptools包,然后安装:原创 2009-05-27 01:17:00 · 51638 阅读 · 0 评论 -
python整理二十六——字符编码漫游
在python2.x中字符编码是个头疼的问题,不过之前早就解决了,今天无意浏览网页时看到,有很有pythoner在问python编码的问题,索性,写一写编码问题,记录至此: 先看代码,边看边解释#coding=utf-8import sysprint sys.getdefaultencoding() # --> asciiu1 = 中国print ty原创 2009-04-27 11:19:00 · 1418 阅读 · 0 评论 -
python整理十九——获取服务器信息
从客户端想看看服务端用的那种服务器?>>> sUrl = http://www.163.com>>> sock = urllib2.urlopen(sUrl)>>> sock.headers.values()[1.0 cache.163.com (squid/3.0.STABLE8), MISS from cache.163.com, bytes, Mon原创 2008-11-10 18:41:00 · 2230 阅读 · 0 评论 -
python整理十八——datetime与time之间的转换
获取文件的创建好或者修改时间都是float型的,想看一下到底是哪年哪月哪日建的? 试了一下,发现datetime与time之间的相互转换如下几步:>>> import time, datetime>>> t = time.time()>>> d_from_t = datetime.datetime.fromtimestamp(t)>>> d_from_tdate原创 2008-10-31 12:45:00 · 19689 阅读 · 0 评论 -
python整理十七——发送邮件
自动发送邮件应该算一个常用的需求了,python提供了相应的模块支持,下面看看自动发送邮件的一段代码: #coding=utf-8 import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.appl原创 2008-10-26 12:17:00 · 1365 阅读 · 0 评论 -
Sorting Lists of Dictionaries
通常情况下,你可能需要对一个dictionaries的list,基于某个key排序。比如:>>> a = {"key1": 5 , "key2": 8, "key3": 2}>>> b = {"key1": 7 , "key2": 4, "key3": 9}>>> c = {"key1": 6 , "key2": 1, "key3": 1}>>> undecorate翻译 2008-09-01 20:53:00 · 690 阅读 · 0 评论 -
python整理三——用字典格式化字符串
惯用的格式化字符串跟C/C++特别像,如: >>> s1 = Hello,%s %d. % (Python, 3000)>>> s1Hello,Python 3000.这种方法很C/C++很像,用起来感觉是平滑过渡,但是对于pythoner来说,这并不pythonic,看看下面这种方法:>>> s1 = Hello,%(p)s %(v)d.原创 2008-09-02 19:37:00 · 3078 阅读 · 0 评论 -
python整理二——dict的list排序
对于简单的list排序,直接调用内建函数就可以了,但是对于dict的list排序就没有那么直接了,不过,还是有很简洁的办法的,如:>>> ls1 = [{a : 1, b : 12}, {a : -1, b : 22},{a : 12, b : 32},{a : 6, b : 42}]>>> ls1.sort(key=lambda obj:obj.g原创 2008-09-01 20:56:00 · 2736 阅读 · 0 评论 -
How to Sorting
翻译:如何排序Python的list有一个内建函数sort()方法,它是更改元素在list中的位置来排序,另一个内建函数sorted()是从可迭代的对象新建一个排序后的list返回。进行排序的方法有很多种,下面我们来看一看。 向后兼容摘记许多介绍资料中,都没有提到python2.4中如何排序。在2.4版本之前,没有内建方法sorted(),并且,list.sort()没有关键字参数翻译 2008-08-31 20:28:00 · 724 阅读 · 0 评论 -
python整理一——解释器上的几个简单操作
1. 在python解释器中, _表示最后一个表达式的值,如: >>> s1 = Hello>>> s1Hello>>> s1 += , Python!>>> s1Hello, Python!>>> _Hello, Python! 第5行和第7行的打印值一样。 2.>>表示重定向,相当于cmd中的 >,如:原创 2008-08-30 19:53:00 · 158 阅读 · 0 评论 -
Python之简洁ini读写
ini文件是常用的配置文件格式,当然,除了它之外,还有其他好多种,比如conf,xml等等。不过,今天就谈论ini罢了。python对此提供了相应的模块,示例如下: #coding=utf-8import ConfigParserdef writeConfig(filename): config = ConfigParser.ConfigParser() # s原创 2008-06-03 21:34:00 · 960 阅读 · 0 评论 -
Python单例模式
下面的python单例模式,这种实现方法应该是线程不安全的,暂时先留在这里,再考虑其他方法。如: class Logger(object): log = None @staticmethod def new(): if not Logger.log: Logger.log = Logger() return Log原创 2008-04-27 21:43:00 · 1904 阅读 · 1 评论 -
python也能实现类初始化方法需求更改的功能
ruby能实现这样的功能,python也一样可以。如:class Shape: def __init__(self, sides, perimeter): self.__sides = sides self.__perimeter = perimeter def to_s(self): return "Shape: sides s原创 2008-04-27 12:01:00 · 830 阅读 · 0 评论 -
父类真的不知道子类在做什么吗?
关于继承,每个人都能说的清清楚楚,子类继承父类,实现自己的方法,父类不必且没有能力知道子类在做什么,这是真的吗?假如我想让父类知道子类在做什么且还想尝试去调用子类的方法,这可以吗?回答是:可以!但能力有限,这里所说的有限,是指知道并且调用子类的方法个数有限。如: class A: @classmethod def __init__(self, cls):原创 2008-04-27 11:49:00 · 848 阅读 · 0 评论 -
python整理四——动态声明变量
python本来就是动态语言,做一些动态的东西,应该说是得心应手吧,下面咱们看看先: 有时候可能会有这种需求,动态的声明变量,变量声明还可以动态啊?感觉似乎比较炫。那么变量标识符来自哪里呢?比如说可能来自配置文件,数据库,调用接口等等,不管标识符来自,我们先得把它们保存到一个数据结构中,如下例,假如保存到一个list中:>>> ls = [a1, a2, a3]原创 2008-09-05 21:30:00 · 2447 阅读 · 0 评论 -
python整理五——get与set
类属性的get与set方法,常用。其方法短小,如果属性多了,其类拥有的空间就复杂的许多,且看下面简洁的空间: class Parrot: def __init__(self, x = 0): self.__voltage = x def voltage(): def fget(self):原创 2008-09-06 14:25:00 · 6244 阅读 · 0 评论 -
python整理六——真正的除法
通常情况下,在其他语言中,包括在python中,除法一般都是如下计算:>>> 1/20>>> 1/40 但是,在数学计算中,应该不是这样的,正确的结果应该是 1/2=0.5, 1/4=0.25才对,简洁而强大的python也为程序员考虑了这一点:>>> from __future__ import division>>> 1/20.5>>>原创 2008-09-06 20:07:00 · 3163 阅读 · 0 评论 -
python整理十六——IP地址排序
关于ip地址的排序问题:假如现在有一堆乱序的ip,源数据:ls1 = [192.168.1.8,192.168.36.8,192.168.26.8,]排序之后期望值:ls1 = [192.168.1.8, 192.168.26.8, 192.168.36.8]>>> ls1 = [192.168.1.8,192.168.36.8,192.1原创 2008-10-21 22:08:00 · 5836 阅读 · 4 评论 -
python整理十五——类文件应用
有时候需要类文件对象的应用,比如:调用另一个借口,收到一串字符,这串字符很特别,需要保存成文件之后,再对文件操作。接受字符串---生成文件---处理---删除文件,明显的多了两个不必要的环节,多了环节,复杂度一下子就提高了,不过呢,利用python的类文件处理,就方便多了。 >>> import cStringIO as StringIO>>> s1 = python, c原创 2008-09-20 13:09:00 · 695 阅读 · 0 评论 -
python整理十四——元类
元类,一个新的概念 #coding=utf-8 class BCls(type): def __init__(cls, name, bases, attr_dic): super(BCls, cls).__init__(name, bases, attr_dic) if __str__ not in at原创 2008-09-20 10:29:00 · 1133 阅读 · 0 评论 -
python整理十三——迷你日志
写个小点的程序,写日志太麻烦了,大点的程序,不写日志是万万不行的,鉴于日志频繁的使用,对python的logging稍微封装一下,适合自己的需求: #coding=utf-8 import os, logging, sysfrom logging.handlers import RotatingFileHandler as RFHandlerclass C原创 2008-09-13 15:55:00 · 1199 阅读 · 0 评论