
python
wwty1314
这个作者很懒,什么都没留下…
展开
-
wxPython的整体架构
首先从全局上把握,从整体上看wxPython的构架,然后再去学习wxPython的组成元素。wxPython有五部分组成:1、Windows:The Windows module consists of various windows, that form an application. Panel, Dialog, Frame or Scrolled Window. window...2009-05-08 15:57:36 · 255 阅读 · 0 评论 -
struct的pack和unpack方法
这两天做TCP协议,数据的传输都是二进制的,需要解释,于是用到了struct看到这样一句代码: length = struct.unpack('>I', self.buffer[:4])[0] 当时没有明白format=">I"是什么意思,从google找了一下,有人说这个东西,可都是比较笼统,没能让我明白,于是硬着头皮看API:By default, C numbers ...2009-06-03 23:55:00 · 1090 阅读 · 0 评论 -
python 多线程 gil
python里的多线程是单cpu意义上的多线程,它和多cpu上的多线程有着本质的区别。单cpu多线程:并发多cpu多线程:并行内部包含并发 在python当中,存在一个叫Global Interpreter Lock(GIL)的东西,直译就是全局解释器锁。它的作用在于让同一时刻只能有一个线程对于python对象进行操作。Python已经提供了各种机制让我们进行多线程同步,为什么又要...2010-03-16 19:01:18 · 151 阅读 · 0 评论 -
httplib,urllib和urllib2的了解学习
httplib — HTTP protocol client:This module defines classes which implement the client side of the HTTP and HTTPS protocols. It is normally not used directly — the module urllib uses it to ...2009-06-12 15:30:54 · 250 阅读 · 0 评论 -
JE API 闲聊实现
注意:用到json-python进行json字符串的解析,需要下载放入路径,详情google代码如有不当之处,还望指正![code="python"]#!/usr/bin/python# -*- coding: UTF8 -*-"""java-eye API的PYTHON实现"""__author__ = "wwty"__date__ = 2009-6-...2009-06-12 18:29:18 · 196 阅读 · 0 评论 -
os.open当中的读写选项
1、读文件读文本文件input = open('data', 'r')#第二个参数默认为rinput = open('data')读二进制文件input = open('data', 'rb')读取所有内容file_object = open('thefile.txt')try: all_the_text = file_object.read( )...原创 2009-07-22 15:40:47 · 501 阅读 · 0 评论 -
twisted单线程多任务
关于单线程多任务刚开始的理解是有偏差的,并且偏差的很大:以为是在单个线程中实现请求并发; 随后写了段代码测试了一下,发现不是这样的:代码如下: from twisted.internet import protocol, reactor, deferimport dbconsolethread,timePORT = 5001class SMG...2010-04-02 10:10:29 · 172 阅读 · 0 评论 -
dbutils安装笔记以及mysql数据库操作问题
dbutils安装笔记;tar -zxvf DBUtils-1.0.tar.gz然后python setup.py install这样dbutils就安装到了python下libs下的site-package下 查询的时候,数据类型必须对应正确 例如:sql = 'select * from User_Info where UserID=' + user + ...2010-04-02 11:05:43 · 554 阅读 · 0 评论 -
python基础补习
Python是一种解释性的编程语言。就象Java一样,源代码必须首先由编译器转换成字节瘁(byte code),然后再由解释器来执行字节码。和Java不一样的是,Python的编译器和解释器都是一个程序。因此,源代码也可以直接交给这个编译器/解释器来执行。其实,源代码还是先转换成了字节码,只是没有存在硬盘上,而是直接执行了。某些情况下,这种方式要比Java的“编辑-编译-修改...2010-04-21 10:55:48 · 100 阅读 · 0 评论 -
Python解释执行原理
谈到了Python语句的两种执行方式,实际上,这两种运行方式在本质 上是相同的,它们都是由解释器来解释执行我们提供的Python语句。 这里所说的解释执行是相对于编译执行而言的。我们知道,使用诸如 C或C++之类的编译性语言编写的程序可以从源文件转换成计算机使用 的机器语言, 经连接器连接后形成二进制可执行文件。当我们运行二进制可执行程 序的时候,因为已经编译好了,所以加载器软件把二进制程序从硬盘...2010-04-21 11:00:57 · 204 阅读 · 0 评论 -
python下innodb的数据提交问题
mysql数据库存储引擎从isam转移到了innodb今天出现一个奇怪的问题:insert,delete,update时,数据总是不能入库解决过程:刚开始怀疑数据库配置参数有问题,但是得去验证,首先用dbutils的持久连接做了测试,发现不行,然后用真正的池连接做测试,还是不行随后直接回到mysqldb上进行测试,还是不行;这样一来就开始怀疑数据库配置出问题了,但是为什么用mysql的...原创 2010-07-12 18:00:38 · 156 阅读 · 0 评论 -
针对twisted--Defered的单线程多任务的理解
从网上找了不少关于twisted的Defered的文章来看,大致了解了异步机制的概念,但是看别人的东西难免有那么一点疑问,虽然别人讲的也很清楚了,可有时候就是跟自己原有的想法有出入,于是问题出来了,怎么去验证到底这种出入谁的是正确的?比如defer当中的回调,我的疑问可以简单的归纳为:回调函数的执行是在一个任务当中的体现,还是在不同任务间的体现呢?下面有段代码是我改进后测试我的想法用的:...2009-06-03 23:13:09 · 170 阅读 · 0 评论 -
reactor.ConnectTCP的源码分析
reactor.ConnectTCP(host,port,xxfactory)ConnectTCP这个方法在twisted.internet.posixbase.py当中方法源码如下: def connectTCP(self, host, port, factory, timeout=30, bindAddress=None): """@see: twisted.i...2009-06-03 15:05:03 · 457 阅读 · 0 评论 -
twisted异步机制--Deferred
Deferred:提供了让程序查找非同步任务完成的一种方式,而在这时还可以做其他事情。当函数返回一个Deferred对象时,说明获得结果之前还需要一定时间。为了在任务完成时获得结果,可以为Deferred指定一个事件处理器非阻塞通讯:当前有一个请求,当获得连接之后,需要进行数据库的读写操作,同时还有其他线程也等着连接:那么可以讲当前获得连接后进行数据库操作的这个任务挂起来,然后直接去处理其他线...原创 2009-06-03 14:44:12 · 321 阅读 · 0 评论 -
wxPython的Windows构件总结
以前接触过java当中的Swing,Awt,java当中的GUI也是先有一个框架,然后框架当中放容器,最后在容器当中添加按钮之类的构件。而从wxPython的设计来看,这一点二者是保持一致的。 wxPython的框架结构是这样的:1、wxPython的基础(祖先)组件:wx.Window,wx.Control,wx.ControlWithItemThese widgets provid...2009-05-08 16:17:47 · 146 阅读 · 0 评论 -
wxPython的Controls组件
Controls组件可以分为以下几类:1、动态小组件:wx.ToggleButtonwx.CheckBoxwx.TextCtrlwx.SpinCtrlwx.ComboBoxwx.BitmapButtonwx.Sliderwx.Choicewx.RadioButtonwx.Buttonwx.ScrollBarwx.Gridwx.RadioBoxwx.SpinButtonwx.ListBox2...2009-05-08 16:19:37 · 207 阅读 · 0 评论 -
wxPython的Core组件
之所以被称为核心组件,我想是因为这个组件集包含了GUI的事件,布局等重要的功能组件。 1、事件驱动编程:wxPython应用程序通过将特定类型的事件和特定的一块代码相关联来工作,该代码在响应事件时执行。事件被映射到代码的过程称为事件处理。 事件(event):在你的应用程序期间发生的事情,它要求有一个响应。---代码事件对象(event object):在wxPython中,它...2009-05-08 16:47:04 · 324 阅读 · 0 评论 -
wxPython的windows构件的具体学习
按照前面的总结思路,我认为windows构件包括了下面的这些内容: 1、基础构件:2、顶级组件:3、容器: 在这些构件当中,最经常使用和最重要的当属wx.Frame和wx.Panel 1、wx.Frame: 写wxPython程序的基础部分是必须包含一个frame对象和application对象的实例。而在windows构件当中,wx.frame是最基本需要掌握的...2009-05-10 16:50:12 · 143 阅读 · 0 评论 -
wxPython的Controls组件学习1----Menus and Toolbars
To implement a menubar in wxPython we need to have three things. A wx.MenuBar, a wx.Menu and a wx.MenuItem. 1、创建一个MenuBar对象menubar = wx.MenuBar() 2、创建一个菜单file = wx.Menu()file.Append(-1, 'Q...2009-05-11 23:54:12 · 133 阅读 · 0 评论 -
wxPython的Core组件--BoxSizer
wx.BoxSizer:box = wx.BoxSizer(integer orient)The orientation can be wx.VERTICAL or wx.HORIZONTAL box.Add(wx.Window window, integer proportion=0, integer flag = 0, integer border = 0)参数解读:1...2009-05-13 12:32:03 · 220 阅读 · 0 评论 -
wxPython的Core组件--其他sizer
1、WX.GridSizer:wx.GridSizer(int rows=1, int cols=0, int vgap=0, int hgap=0) 这个Sizer用于确定表格样式的sizer;并且还可以确定一个cell在垂直的和水平方向上的空间gs = wx.GridSizer(4, 4, 3, 3)gs.AddMany(list items)2、wx.FlexGridSi...2009-05-14 22:42:20 · 126 阅读 · 0 评论 -
使用wxPython实现mail的简单客户端
本程序的目的是:结合当前所学习的wxPython的理论知识,同时配合python的mail组件,实现简单的邮件功能主要作用是将本段学习的理论知识通过代码来实践消化吸收 程序实现功能:1、邮件的发送,不包括附件2、邮件的收取,收成eml类型的文件保存在本地3、同时实现将本地邮件解析以列表的形式展示在UI组件内程序源文件描述:MainFrame.py:主框架UI页面NewMailW...2009-05-22 15:22:39 · 269 阅读 · 0 评论 -
并发编程的概念知识以及twisted的引出
并发编程介绍:要完成某些计算任务经常需要不少时间,其原因有两点: 任务是计算集中型的(比如,求一个很大整数的所有因数),并且需要相当的CPU时间进行计算;或者任务并不是计算集中型的,但是需要等待某些数据,以产生结果。 等待回应网络编程的基本功能就是等待数据。想象你有一个函数,这个函数会总结一些信息并且作为电子邮件发送。函数需要连接到一个远程服务器、等待服务器的回应、检查服务器能否处理这封电...原创 2009-06-03 10:27:31 · 101 阅读 · 0 评论 -
Twisted基本模型
一、Twisted基本模型Twisted 网络编程框架是一种基于事件的网络编程框架,用户需要继承特定的类,并重载其中的方法来处理网络通信中可能出现的各种情况。Twisted的网络通信模型 最基本的也要由三部分组成:反应器(reactor)、协议(protocol)、工厂(factory)。1、其中反应器reactor用来执行事件循环,分发事件处理等 等,每个应用程序中一般只能启动一个r...原创 2009-06-03 14:27:38 · 137 阅读 · 0 评论 -
dbutils,sqlobject,SQLAlchemy
Python DBUtils 提供了稳固的、持久的到数据库的连接池,支持多线程应用环境。 使用实例代码:import pgdb # import used DB-API 2 modulefrom DBUtils.PersistentDB import PersistentDBpersist = PersistentDB(pgdb, 1000, database='mydb'...2009-08-22 18:26:12 · 476 阅读 · 0 评论