手头有个pyQT的项目里面使用QtWebKit, 用于在客户端中展示网页内容。虽然使用QtWebkit实现了基本功能。但是存在不少问题。 QtWebKit打开页面速度慢,一些js代码无法正常运行,需要自己去实现的东西太多。由于时间有点紧,所以就准备找第三方实现的库来做。
最后采用CEF(Chromium Embedded Framework)。 这个项目稳定(2008开始),社区活跃。而且还有python实现cefpython。
cefpython 使用cython 实现与libcef之前的交互。项目2012-05-08提交0.11,到最近2012-12-27提交0.51版本的cef1。
使用New BSD License 开源协议。目前只有czarek.tomczak一人维护。 cefpython项目分为cef1, cef3 。cef1的完成度比较高,cef3可用的api太少。 由于项目中对webkit的要求比较少。 所以直接拿来使用。
问题和不足
- 项目完成度还不高,存在一些问题。好在作者开发热情很高,问题能很快解决。
- 目前只支持windows和mac。
- 编译需要安装windows SDK和vs2008。
更多链接
莫工厂的面试题之一古诗横转(二)
要求横转古诗输出,输出的结果请运行一下程序。
之前使用列表解析实现,还可以用map + zip 实现矩阵转换。当然使用NumPy 也可以很方便实现。
代码如下:
string = u"""静夜思 李白 床前明月光, 疑似地上霜。 举头望明月, 低头思故乡。 """ list_s=[L for L in string.splitlines()[::-1]] out=map(list,zip(*list_s)) print '\n'.join([U'┊'.join(row) for row in out])
python实现一个Stack类
python 实现Stack类。
之前网上也有不同的实现,但是不是感觉版本太老就是感觉写的不好。自己写了一个,请大家指教。
# -*- coding:utf-8 -*- class Stack(object): """ Stack 类 """ def __init__(self, other=None): """doc test >>> s = Stack([1,2,3,4]) >>> s.pop() 4 >>> s.count 3 >>> e = Stack([1,2,3,4]) >>> s != e True >>> s.push(4) >>> s == e True >>> s += e >>> len ...
莫工厂的面试题之一古诗横转
要求横转古诗输出,输出的结果请运行一下程序。
string = u"""静夜思 李白 床前明月光, 疑似地上霜。 举头望明月, 低头思故乡。 """ list_s=[L for L in string.splitlines()[::-1]] row_num = max(map(len,list_s)) out=[[row[L] for row in list_s] for L in xrange(row_num)] print '\n'.join([U'┊'.join(row) for row in out])
计算当前目录下的子目录数量并打印子目录名称
问题:
组里有人问,有什么好方法来统计当前目录下所有子目录的数量。
解决方案:
我大致综合大家提出的方法,做了一个对照。实现方法有4个 。其中test_diskwalk.py 是利用python 的os.walk 做的。
- time find /usr/ -type d |wc -l
- time python test_diskwalk.py /usr/
- time tree -ad /usr/ |tail -1
- ls -aR /usr/|grep ":$" |wc -l
大致结果是ls 和tree快, find 接近是ls 的1.5倍。 os.walk 更慢。测试不太精准,权当娱乐。
对照测试具体步骤:
利用python ...
read more