在 python 类范围内使用装饰符

装饰符函数的传入变量为:使用装饰符的函数(目标函数)。其本质是:在调用目标函数之前,插入调用装饰符函数,然后由装饰 …

Convert between python datetime and unix timestamp

代码

import datetime, calendar, time

def timestamp2datetime(timestamp):
    return datetime.datetime.fromtimestamp(timestamp)

def date2timestamp(date):
    """local time"""
    return calendar.timegm(date.timetuple())

def date2timestamp_utc(date):
    """utc time"""
    return int(time.mktime(date.timetuple()))

def datetime2timestamp(year, month, day):
    return calendar.timegm(datetime.datetime(year, month, day).timetuple())

def …

一个简洁的基于 namedtuple 的 Python 枚举实现

查找比对的时候是数值类型,性能还是很不错的

from collections import namedtuple

def MakeEnum(enumList):
    return namedtuple('Enum', enumList)._make(range(len(enumList)))

USER_AT = MakeEnum(['noLogined', 'logined', 'hall', 'room'])


print USER_AT, type(USER_AT)

print USER_AT.noLogined, type(USER_AT …

Python map class/类结构体 相互转换

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

#----------------------------------------------------------------------
def obj2map(obj):
    """"""
    return vars(obj)

########################################################################
class obj:
    def __init__(self):
        self.a = 1
        self.b = 2

########################################################################
class map2struct:
    def __init__(self, **entries):
        self.__dict__.update(entries)

o = obj()

print '~~~~~~~~~~~~~~ obj -> map ~~~~~~~~~~~~~~'
m = vars(o)
print type(m), m

print '~~~~~~~~~~~~~~ map -> obj ~~~~~~~~~~~~~~'
o2 = map2struct …

使用PyInstaller生成便于分发的单一可执行程序,并且添加Windows UAC权限支持

很多时候用 Python 写的小工具需要打包成一个可执行文件交给使用者,比如:

  • 使用者没有安装 Python 或者第三方库环境
  • 为了便于 …

python 2.x 中文编码格式转换

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

uuu = u'中文'
print type(uuu), uuu

sss = uuu.encode('gbk')
print type(sss), sss

nnn = unicode(sss, 'gbk')
print type(nnn), nnn

输出为

<type 'unicode'> 中文
<type 'str'> 中文
<type 'unicode'> 中文

使用 http proxy 软件 Polipo 让 easy_install 支持使用代理安装

基于安全的因素,很多情况下服务器都没有直接访问互联网的权限。而 python 的 easy_install 不支持 socks proxy,这一点挺悲剧的;不过还好,根据 …

“Stay hungry, Stay foolish.”