在 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 …

golang 使用 cgo 调用没有链接文件的动态链接库

获得符号表的方法

nm libfoo.so

演示工程目录结构

~/projectRoot
    bin
        libfoo.so
    script
        build.sh
    src
        libfoogo
            libforgo.go
        libfoogo_test
            main.go

构建脚本 build.sh

#!/bin/bash
cd ../bin

export GOPATH=~/projectRoot
go build libfoogo_test

cd …

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

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

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

SQLite 环境 Django 1.6 使用老版本代码出现事务异常的临时解决办法

SQLite对事务机制的支持是不完整的,Django 1.6 开始对事物的支持迁移到了有数据库直接支持。

手上正好有个项目是很久以前的,部分开发调整环境还行想继 …

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'> 中文

使用 Django 的 TEMPLATE_CONTEXT_PROCESSORS 在模板中优雅的高亮当前页面对应的菜单项

整体思路是

  1. 使用 TEMPLATE_CONTEXT_PROCESSORS 在模板中激活全局上下文
  2. 使用 bootstrap 库实现 CSS 效果
  3. 在模板文件中调用全局变量完成实现

在 settings.py 中添加 …

创建、合并 Hg 分支

创建分支

Hg 的分支相对于 Git 没那么随意,如果要实现偏 Git 风格分支可以使用 bookmark 也就是书签功能 创建需要两步:

  1. 设置新的 …
“Stay hungry, Stay foolish.”