随笔分类 -  python

多线程共享一个队列
摘要:1 # -*- coding:utf-8 -*- 2 import threading 3 from time import sleep 4 lock = threading.Lock() 5 tmp_list = [] 6 class MyThread(threading.Thread): 7 """ 8 此线程用于向公共队列中追加元素 9 """10 def __init__(self):11 threading.Thread.__init__(self) 12 #: 向公共队列追加元素13 def run(self):14... 阅读全文

posted @ 2013-11-19 11:10 JohnChain 阅读(1281) 评论(0) 推荐(0)

关闭主线程时如何合理关闭子线程
摘要:picked from :http://blog.sina.com.cn/s/blog_3c8ced5801014pbv.html昨天为我的casnet程序添加新功能。其中一个功能是断线自动重连,本来是单线程的程序,添加这个功能就需要后台有一个线程定时地查询当前状态,如果掉线就自动重连。因之遇到了一个如何设计这个守护线程的问题。我刚开始的想法是后台线程每次运行查询后 sleep 一段时间,然后再运行查询。但是我马上遇到了一个问题:当主程序退出时,后台线程仍在运行,主窗口无法退出。在使用其它的库时,比如 POSIX 的 pthread,可以使用 ptread_cancel(tid) 在主线程中结 阅读全文

posted @ 2013-11-12 17:02 JohnChain 阅读(3103) 评论(0) 推荐(0)

解决Python 插查 MySQL 时中文乱码问题
摘要:首先找到这里的解决方法,count = cursor.fetchall()for i in count: idc_a = i[0] if isinstance(idc_a, unicode): idc_a = idc_a.encode('utf-8') print idc_a但只能解决查询显示乱码问题后来继续查资料,找到了这里,解决方法很简单拿,和数据库建立连接后,执行:db.set_character_set('utf8')dbc.execute('SET NAMES utf8;')dbc.execute('SET CHARACTER 阅读全文

posted @ 2013-11-10 18:35 JohnChain 阅读(458) 评论(0) 推荐(0)

python 服务端判断客户端异常断开
摘要:在进行 python 套接字编程时,服务端程序要判断客户端是否异常断开【由于断电或者其他突发情况导致链接中断】,可以通过以下几种方式判断:1、如果通信协议中,设有心跳包,则可记录上次收到时间,将服务端epoll 设为水平触发,这样就会有不断的可读事件触发,在判断读到的字符为空字符时,通过当前时间与上次收到数据时间的时间差,来判断客户端存活否;2、将服务端epoll 设为水平触发,这样就会有不断的可读事件触发,在判断读到的字符为空字符时,向客户端尝试写数据,通过捕捉异常 IOError,来判断客户端的链路是否已断开。3、构造链接类,包含链接句柄和时间字段[客户端最近活跃时间],然后开一个看门狗线 阅读全文

posted @ 2013-10-14 15:20 JohnChain 阅读(3410) 评论(0) 推荐(0)

Python socket doesn't close connection properly
摘要:Python socket doesn't close connection properlyThe error information: [Errno 98] Address already in useThe reasion: http://www.unixguide.net/network/socketfaq/4.5.shtmlThe resolution: http://stackoverflow.com/questions/2765152/what-is-the-correct-way-to-close-a-socket-in-python-2-6客户端| |window.. 阅读全文

posted @ 2013-09-25 15:33 JohnChain 阅读(371) 评论(0) 推荐(0)

ImportError: No module named PIL
摘要:add at 2013/08/21 :试试PIL库www.pythonware.com/products/pil/【ps:只有32位的库】ImportError: No module named PIL查到问题解决方案:1:不通过from PIL import Image 而直接 import Image2:查看目录python安装目录C:\Python27\Lib\site-packages下没有PIL目录,说明没安装PIL,通过命令 pip install pil,再次查看那个目录,出现了PIL,安装完成,收工。执行命令pip install pil时,又遇到问题:error: Unabl 阅读全文

posted @ 2013-08-20 21:41 JohnChain 阅读(5798) 评论(0) 推荐(0)

python程序转exe程序之一——cx_Freeze
摘要:原始网页 :http://keliang.blog.51cto.com/3359430/661884本人用的64位系统,一开始装了32位的cx_freeze,结果貌似无法自动找到本地的python安装位置,后改装64位的,便可以自动检测到python的安装位置了但经过上述方法,如果是Tkinter的图形程序,总是会有console控制端窗口出现,还在研究ing 阅读全文

posted @ 2013-08-19 11:00 JohnChain 阅读(458) 评论(0) 推荐(0)

window 搭建python环境
摘要:Unofficial Windows Binaries for Python Extension Packages其中包含大量Windows下的python的module包含大但不仅限于pip:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip 阅读全文

posted @ 2013-06-29 10:06 JohnChain 阅读(214) 评论(0) 推荐(0)

MySQLdb
摘要:apt-get installpython-mysqldb 阅读全文

posted @ 2013-05-14 22:00 JohnChain 阅读(138) 评论(0) 推荐(0)

some hotkeys in eclipse
摘要:python 块选:Toggle Block Selection Mode,快捷键:Alt+Shift+A,通过这个它可以在快选择模式和普通模式间进行切换。注销: eclipse下可以选中多行,然后按ctrl+/注释或取消注释(python toggle comment)缩进调节: 自动调整缩进:ctrl + i ,对应的菜单在:右键-》Source-》Correct Indentation;或者按下 CTRL+SHIFT+F,对应的菜单在:右键->source->format。 选中要同时缩进的代码,然后按tab键(整体向后缩进)或shift+tab键(整体向前缩进)。press 阅读全文

posted @ 2013-04-20 08:45 JohnChain 阅读(173) 评论(0) 推荐(0)

导航