分享一个简单的python模板引擎
#coding:utf-
8
__author__="sdm"
__author_email='sdmzhu3@gmail.com'
__date__ ="$2009-8-25 21:04:13$"
''
'
pytpl 类似
php的模板类
''
'
import
sys
import
StringIO
import
os.path
import
os
#模
板的缓存
_tpl_cache={}
class
Pytpl:
def __init__(self,tpl_path='./'
):
self.tpl_path=tpl_path
self.data={}
self.output = StringIO.StringIO()
pass
def set(self,name,value):
''
'
设
置模板变量
''
'
self.data[name]=value;
pass
def get(self,name):
''
'
得
到模板变量
''
'
t={}
return
t.get(name,
''
)
pass
def tpl(self,tplname):
相关文档:
开发环境:Ubuntu9.10,python2.6,gcc4.4.11,ubuntu下的python运行包和开发包是分开的,因此需要在新利得里面安装python-all-dev,从而可以在代码中引用python的头文件和库。2.下面是一个最简单的可以供python调用的c扩展模块,假设c程序文件名为foo.c:代码#include <Python.h>
static PyObject* foo_b ......
全文来自:IT工程技术网 http://www.systhinker.com/html/91/n-11591.html
昨天和飞天舞者讨论静态类型语言和动态类型语言优劣比较的时候,说到Python没有重载机制的问题。
后来想想挺有意思的,把思考的经过记录下来,欢迎拍砖。
重载(overload)和覆盖(override),在C++,Java,C#等静态类型语言类型语言中,这两个 ......
初学Python,这么做好像有点2,凑合能用:
class MyClass():
def __init__(self, n = 10):
self._Field = n
def __getitem__(self, range):
return MyClass(self._Field)
obj1 = MyClass()
obj2 = obj1
obj3 = obj1[:]
obj1._Field = 100
obj4 = MyClass(123)
print obj1._Field, obj2. ......
这个类表示在单独的控制线程中运行的活动。有两种方法可以指定这种活动,给构造函数传递回调对象,或者在子类中重写run() 方法。其他方法(除了构造函数)都不应在子类中被重写。换句话说,在子类中只有__init__()和run()方法被重写。
一旦线程对象被创建,它的活动需要通过调用线程的start()方法来启动。这方法再调用控制 ......