Python
时间对象
- 格式化时间
第一个问题,'06SEP21'转换为时间的,按照如下: import time t=time.strptime('06SEP21','%y%b%d') 然后得到的t就是一个时间元组,具有9个字段那种.可以按照如下转换为UNIX时间: dt=time.mktime(t) 我不知你说的time对象是什么,我只知道Python里面有时间元组和UNIX时间(双精度浮点 数)两种格式.使用UNIX时间输出你要的格式如下: time.strftime('%Y-%m-%d',time.localtime(dt)) 使用时间元组的方式输出更加方便一些如下: time.strftime('%Y-%m-%d',t) 注意这里的变量t是时间元组型的,而dt是UNIX时间的双精度浮点数型的.
中文处理
- 截取中文字符串 参考了limodou老大的做法,我这个在django中使用。不知道为什么,在django中len('中文')=6
Python AOP
- 用原类实现AOP
1 class MetaAll(type): 2 def __new__(mcl, name, bases, dict): 3 def log(func): 4 def f(*args, **kwds): 5 print 'pre %s' % func.__name__ 6 value = func(*args, **kwds) 7 print 'post %s' % func.__name__ 8 return value 9 return f 10 for attr, value in dict.iteritems(): 11 if attr.startswith('set'): 12 dict[attr] = log(value) 13 return super(MetaAll, mcl).__new__(mcl, name, bases, dict) 14 15 __metaclass__ = MetaAll 16 17 class A: 18 def __init__(self): 19 self.__x = 1 20 21 def getx(self): 22 return self.__x 23 24 def setx(self, value): 25 self.__x = value 26 27 a = A() 28 a.setx(2) 29 print a.getx()