在Windows里搭建Python的GTK+环境搭建注意事项
在Windows里搭建Python的GTK+环境还是比较麻烦的有以下几个注意事项
1、PyGTK网站上下的包,可能没有Glade类(Lib\site-packages\gtk-2.0\gtk目录下没有glade.pyd),如果没有这个类你就无法在程序里导入Glade工具创建的xml,手写界面还是挺麻烦的。
2、GTK网站上的GTK包,没有包括Glade的DLL文件,还是无法读入Glade的xml文件
所以要按如下方法来搭建GTK+环境
1、安装Python,最好是2.6.5这个版本支持的比较全面
2、从http://ftp.acc.umu.se/pub/GNOME/binaries/win32/下载最新的GTK+包,解压到你自己的目录,并设置系统路径
3、从http://ftp.acc.umu.se/pub/GNOME/binaries/win32/下载最新的pycairo, pygtk, pygobject, 安装到Python的目录下,做为第三方包
4、从http://ftp.acc.umu.se/pub/GNOME/binaries/win32/下载最新的pango, libglade, glib, 解压到GTK+的目录下
经过以上4步,GTK+环境就应该可以工作了。
相关文档:
多个执行线程经常要共享数据,如果仅仅读取共享数据还好,但是如果多个线程要修改共享数据的话就可能出现无法预料的结果。
假如两个线程对象t1
和t2
都要对数值num=0
进行增1运算,那么t1
和t2
都各对num
修改10
次的话,那么num
最终的结果应该为20
。但是如果当t1
取得num
的值时(假如此 ......
# 直接插入排序
def InsertSort(mylist):
size = len(mylist)
i = 1
for i in range(1, size):
if mylist[i] < mylist[i - 1]:
tmp = mylist[i]
j = i - 1
mylist[j + 1] = mylist[j]
j = j - 1
while j > ......
#快速排序
def Partition(mylist, low, high):
tmp = mylist[low]
while low < high:
while low < high and mylist[high] >= tmp:
high = high - 1
if low < high:
mylist[low] = mylist[high]
low = low + 1
while low < hi ......
def MergeSort(mylist, low, mid, high):
i = low
j = mid + 1
tmp = []
while i <= mid and j <= high:
if mylist[i] <= mylist[j]:
tmp.append(mylist[i])
i = i + 1
else:
tmp.append(mylist[j])
j = j + 1
......
参考链接:http://www.woodpecker.org.cn/diveintopython/functional_programming/dynamic_import.html
一 动态导入模块
Python的import不能接受变量,所以应该用 __import__函数来动态导入。
如下的代码无法正常导入模块
modules = ['OpenSSL', 'Crypto', 'MySQLdb', 'sqlite3', 'zope.interface', 'pyasn1', 'twisted ......