
Python
文章平均质量分 53
socrates
C/C程序员PythonPostgreSQL爱好者
展开
-
Python:DNS客户端实现
这两天在测试IPV6与DNS,晚上查了下资料,写了个DNS客户端,其中请求消息编码部分参考网上实例。 刚完成了编码,功能还没有测试。1、代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import ConfigParserimport socketimport time import stringimport原创 2013-01-05 22:19:39 · 5784 阅读 · 2 评论 -
wxPython:事件处理介绍二
事件处理流程,如下:wxPython首先在触发对象中查找匹配事件类型的被绑定的处理器函数,如果找到,刚相应方法被执行。如果没找到,wxPython将检查该事件是否传送到了上一级的容器,如果是,父窗口被检查,如此一级级向上查找,直到找到一个处理函数或到达顶层窗口。看一个触发多个事件的实例:#!/usr/bin/env python# -*- coding: utf-原创 2012-08-14 21:28:04 · 3449 阅读 · 0 评论 -
wxPython:事件处理介绍一
事件处理是wxPython程序工作的基本机制,先看几个术语:事件(event):应该程序期间发生的事情,要求有一个响应。事件对象(event object):代表具体一个事件,包括事件的数据属性,为wx.Event或其子类的实例,如wx.CommandEvent/wx.MouseEvent。事件类型(event type):wxPython分配给每个事件对象的一个整数ID。原创 2012-08-14 21:24:15 · 2223 阅读 · 0 评论 -
wxPython:列表选择框SingleChoiceDialog
列表选择框就是让用户从提供的列表中选择目标项,原型如下: wxSingleChoiceDialog(wxWindow* parent, const wxString& message, const wxString& caption, int n, const wxString* choices,void** clientData = NULL, long style = wxC原创 2012-08-14 21:20:46 · 2837 阅读 · 0 评论 -
wxPython:文本对话框TextEntryDialog
本节看看单行文本对话框的使用,先看函数原型:wxTextEntryDialog(wxWindow* parent, const wxString& message, const wxString& caption = "Please enter text", constwxString& defaultValue = "", long style = wxOK | wxCANC原创 2012-08-14 21:19:15 · 5078 阅读 · 0 评论 -
wxPython:消息对话框MessageDialog
消息对话框即我们平时说的Messagebox,看看它的原型,下面是wxWidgets中的原型定义,C++风格,与python风格的区别就是wx前缀与后面名称直接相连,例如wxMessageDialog,在wxpython中使用时就是wx.MessageDialog wxMessageDialog(wxWindow* parent, const wxString& message, con原创 2012-08-14 21:17:33 · 4794 阅读 · 0 评论 -
wxPython:面板Panel的使用
Panel是窗口的容器,通常其大小与Frame一样,在其上放置各种控件,这样可将窗口内容与工具栏及状态栏区分开,能过TAB键可遍历Panel中的元素,直接看个例子:#!/usr/bin/env python# -*- coding: utf-8 -*-import wxclass MyFrame(wx.Frame): def __init__(self, paren原创 2012-08-14 21:13:46 · 12826 阅读 · 0 评论 -
wxPython:关闭wxPython程序
一、正常关闭 wx.App子类的OnExit()方法在最后一个窗口被关闭且在wxPython的内在清理过程之前被调用,所以,可以在OnExit()方法中清理任何创建的非wxPython资源。如果调用了wx.Exit()关闭wxPython程序,OnExit()方法仍会被调用。 如果想在所有窗口关闭后wxPython程序仍可继续,可使用wx.App的SetExitOnFrameD原创 2012-08-14 21:11:18 · 6457 阅读 · 1 评论 -
wxPython:输出重定向
通过一个实例来看看如何控制wxPython的输出,并观察各必要对象的创建次序及生命周期。#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:简单的wxPython程序 Input:NONE Output: NONE author: socrates blog:http://www.cnb原创 2012-08-14 21:09:31 · 2535 阅读 · 0 评论 -
wxPython:简单的wxPython程序的另一种写法
一个wxPython程序必须有一个Frame类和App类对象,这两个类可以自己编写,对于简单的应用,可以直接使用wx.PySimpleApp,从而避免了自己编写APP类。下面是上一篇笔记中小程序的另一种写法:#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:简单的wxPython程序 Input:NONE原创 2012-08-14 21:04:58 · 2586 阅读 · 0 评论 -
Python:脚本的几种执行方式
以Windows下为例,可以通过以下几种方式执行一个python脚本文件: 1、双击脚本文件,如a.py; 2、写一个bat文件,文件中通过python -i a.py 来调用; 3、在python命令行下,通过execfile(E:\\a.py)调用;原创 2012-08-14 20:58:24 · 2847 阅读 · 1 评论 -
Python:pygame游戏编程之旅六(游戏中的声音处理)
一款人性化的游戏中缺少不了声音,比如角色挂时惨叫一声,或PK时武器交锋的声音,还有就是英雄出场时的背景音乐,无不涉及到声音,本节我们就来看一下pygame中如何控制声音,下面是一个例子,但博客上传不了多媒体程序,否则就可以听到加勒比海盗中最为经典的配乐《he's a pirate》了,程序实现了通过上下方向键来控制音量大小的功能。一、实例界面:1、初始音量为10 2、通过上下方向键原创 2012-04-22 00:29:28 · 7306 阅读 · 1 评论 -
Python:pygame游戏编程之旅五(游戏界面文字处理详解)
再简单的游戏界面中均涉及文字处理,本节主要解读一下pygame模块中对文字及字体的处理方式。 同样,以实例进行讲解,先看看代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import sysimport osimport pygamefrom pygame.locals import *def load_image(pic_na原创 2012-04-21 20:41:08 · 11979 阅读 · 0 评论 -
Python:编程“八荣八耻”之我见
刚在逛CPyUG时看到了个主题讨论python的八荣八耻,见:http://bit.ly/4jeBor, 主题内容如下:以动手实践为荣,以只看不练为耻。 以打印日志为荣,以单步跟踪为耻。 以空白分隔为荣,以制表分隔为耻。 以单元测试为荣,以手工测试为耻。 以代码重用为荣,以复制粘贴为耻。 以多态应用为荣,以分支判断为耻。 以Python原创 2012-05-03 23:48:16 · 6302 阅读 · 2 评论 -
Python:pygame游戏编程之旅七(pygame基础知识讲解1)
与Python自带的random、math、time等模块一样,Pygame框架也带有许多模块来提供绘图、播放声音、处理鼠标输入等功能。本章将讲述Pygame提供的基本模块及功能,并假设读者已经具有基本的python编程知识,如果在这方面遇到困难,可阅读“Ivent Your Own Computer Games With Python”这本书。GUI和CLI使用Py原创 2012-05-01 16:19:26 · 14615 阅读 · 5 评论 -
wxPython: 简单的绘图例子
一个绘图的例子:#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:绘图 Input:NONE Output: NONE author: socrates blog:http://www.cnblogs.com/dyx1024/ date:2012-07-11''' im原创 2012-08-14 21:29:39 · 5964 阅读 · 1 评论 -
wxPython:颜色选择对话框wx.ColourDialog
本节看一下颜色选择对话框的使用,比较简单,先看实例,再讲解知识点:代码:def OnOtherColor(self, event): ''' 使用颜色对话框 ''' dlg = wx.ColourDialog(self) dlg.GetColourData().SetChooseFull(True)原创 2012-08-14 21:36:45 · 3130 阅读 · 0 评论 -
wxPython:布局管理器sizer介绍
创建窗口中部件时显示指定位置和大小对于稍复杂一点的界面来说是非常痛苦的,所以本节看一下wxPython中布局管理器sizer的用法,同样,先看一个实例:代码:#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:绘图 Input:NONE Output: NONE author: so原创 2012-08-14 21:38:51 · 10872 阅读 · 3 评论 -
Python: 发送新浪微博(使用oauth2)
1、申请个应用,得到App Key和App Secret2、设置授权回调页地址,如下,如果不设置,打开回调页时会报错“error:redirect_uri_mismatch”,这一点一定要注意。3、代码:#!/usr/bin/env python# -*- coding: utf-8 -*- from weibo import * def pr原创 2013-01-05 22:07:41 · 6919 阅读 · 17 评论 -
Python:读取新浪微博收听列表
代码:#!/usr/bin/env python# -*- coding: utf-8 -*- from weibo import *import time def press_sina_weibo(): APP_KEY = '220567xxxx' APP_SECRET = '47970abb02d8f7b4d600d98e9b1fxxxx'c99'原创 2013-01-05 22:11:40 · 2868 阅读 · 2 评论 -
Python:pygame游戏编程之旅二(自由移动的小球)
本节实现一个在窗口中自由运动的小球程序,做了详细注释,不多做解释了。 代码:# -*- coding:utf-8 -*-import sysimport pygamefrom pygame.locals import *def play_ball(): pygame.init() #窗口大小 window_size = (wid原创 2012-04-15 17:09:39 · 13427 阅读 · 5 评论 -
wxPython:启动画面SplashScreen介绍
程序启动时出现一个启动画面,先看代码:class PaintApp(wx.App): def OnInit(self): bmp = wx.Image("P7080079.JPG").ConvertToBitmap() wx.SplashScreen(bmp, wx.SPLASH_CENTER_ON_S原创 2012-08-15 00:02:45 · 4694 阅读 · 0 评论 -
wxPython:文件对话框wx.FileDialog
本节看一下文件对话框的使用,先看实例,再介绍具体知识点。代码:#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:绘图 Input:NONE Output: NONE author: socrates blog:http://www.cnblogs.com/dyx1024/原创 2012-08-14 21:35:01 · 17581 阅读 · 3 评论 -
wxPython:菜单介绍
本节看看菜单的创建及使用,直接看代码。#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:绘图 Input:NONE Output: NONE author: socrates blog:http://www.cnblogs.com/dyx1024/ date:2012-07-1原创 2012-08-14 21:32:40 · 1819 阅读 · 0 评论 -
wxPython:状态栏介绍
本节看一下wxPython中状态栏的编程,先看个例子,此程序中其他部分代码略,如需要请看上一篇文章。class PaintFrame(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, -1, "Panit Frame", size = (800, 600)) se原创 2012-08-14 21:31:12 · 3987 阅读 · 0 评论 -
wxPython:工具栏、状态栏、菜单实现
与绘制按钮一样,很简单,直接看代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import wximport wx.py.imagesclass ToolbarFrame(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(s原创 2012-08-14 21:15:46 · 5464 阅读 · 0 评论 -
wxPython:Frame类介绍
Frame即为框架,可以直接理解为一个窗口。要创建一个Frame的子类,需要调用Frame类的构造函数,原型如下: wx.Frame(parent, id=-1, title=””, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, name=”frame”) 各参数含义:原创 2012-08-14 21:12:11 · 2852 阅读 · 0 评论 -
wxPython:应用程序对象介绍
一、两个必须对象 wxPython程序由两个必要的对象组成,即应用程序对象APP和顶级窗口对象Frame,其基本功能如下: 应用程序对象APP管理主事件循环MainLoop()。 顶级窗口对象Frame管理数据,控制并呈现给用户。 下图表示两个基础对象和程序其他部分的关系: wx.App子类创建步骤: 定义这个子类原创 2012-08-14 21:07:49 · 1384 阅读 · 0 评论 -
wxPython:简单的wxPython程序
最近自学wxPython,参考书籍为《wxPython in Action》,所以最近的一系列wxPython相关文章均为读书笔记。 先来个简单的wxPython程序热热身。 代码:#!/usr/bin/env python# -*- coding: utf-8 -*-''' Function:简单的wxPython程序 Input:NONE原创 2012-08-14 21:03:38 · 1807 阅读 · 0 评论 -
wxPython:进度条Gauge介绍
本节介绍进度条的使用,先看代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import wx''' Function:绘图 Input:NONE Output: NONE author: socrates blog:http://www.cnblogs.com/dyx1024/ date原创 2012-08-15 00:03:08 · 9969 阅读 · 3 评论 -
wxPython:绘画按钮BitmapButton介绍
本节看一个绘图按钮的使用,先看看代码:#!/usr/bin/env python# -*- coding: utf-8 -*-import wx''' Function:绘图 Input:NONE Output: NONE author: socrates blog:http://www.cnblogs.com/dyx1024/ d原创 2012-08-15 00:02:59 · 4463 阅读 · 1 评论 -
Python:pygame模块及SDL库简介
一、pygame pygame是一个设计用来开发游戏的python模块,在SDL库的基础上提供了各种接口,从而使用用户能够使用python语言创建各种各样的游戏或多媒体程序,pygame支持多种操作系统,当然,它是一个开源的软件。 以下是官方的说明: pygame是 跨平台 Python模块,专为电子游戏设计。 包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而原创 2012-04-13 23:08:17 · 10924 阅读 · 0 评论 -
Python:pygame游戏编程之旅四(游戏界面文字处理)
本节讲解游戏界面中字体的处理,以在界面中实时显示当前时间、小球位置为例进行实验,具体见代码。一、代码# -*- coding:utf-8 -*-import osimport sysimport timeimport pygamefrom pygame.locals import *from pygame.font import *def load_image(p原创 2012-04-15 20:31:45 · 12034 阅读 · 2 评论 -
Python:pygame游戏编程之旅三(玩家控制的小球)
上一节实现了小球自由移动,本节在上节基础上增加通过方向键控制小球运动,并为游戏增加了背景图片。一、实现:# -*- coding:utf-8 -*-import osimport sysimport pygamefrom pygame.locals import *def load_image(pic_name): ''' Function:图片加载函原创 2012-04-15 19:33:06 · 9608 阅读 · 6 评论 -
Python:通过执行100万次打印来比较C和python的性能,以及用C和python结合来解决性能问题的方法
python作为动态语言,开发效率相当高,但如我们所知,动态语言的执行效率往往是比较低的,请看下面简单的测试过程: 一、 C语言实现100万次打印: 代码:#include#include int main(int argc, char* argv[]){ unsigned long i = 1; unsigned long ulNum = 1000000;原创 2012-02-19 23:47:56 · 18762 阅读 · 10 评论 -
Python:通过计算阶乘来学习lambda和reduce这两个函数的使用
从上学时开始,通常是用C来求阶乘,今天无事,用python写了一下,主要在于学习lambda和reduce这两个函数的使用。实现:#!/usr/bin/env python#-*- coding: utf-8 -*-import timedef test_factorial_reduce(): ''' Function:使用reduce函数 Inp原创 2012-02-19 14:33:17 · 5917 阅读 · 1 评论 -
Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)
今天晚上学习了下使用pycha模块来制作各种办公用图的方法,非常简单,本文使用其绘制了7种图表。 此模块和API地址为:http://www.lorenzogil.com/projects/pycha/,需要的朋友可以下载下来玩一下,下面是我晚上学习时写的一点东东,分享之。一、代码:#!/usr/bin/env python# -*- coding: utf-8 -*-原创 2012-02-28 00:42:52 · 20068 阅读 · 12 评论 -
Python:将句子中的单词全部倒排过来,但单词的字母顺序不变
早上看到好友未央的一篇博文《一道google的测试工程师笔试题》,内容如下:这是去年面试google测试工程师的一道题,题目如下:设计一个函数,使用任意语言,完成以下功能:一个句子,将句子中的单词全部倒排过来,但单词的字母顺序不变。比如,This is a real world,输出结果为world real a is this. 他用C++很好的封装了一个函数实现了此功能,如下,更原创 2012-02-18 18:59:01 · 9040 阅读 · 2 评论 -
Python:语音处理,实现在线朗读RFC文档或本地文本文件
本文主要讲解如何使用python来实现将文本转为语音,以一个小例子为例,写了一下用pyTTS来朗读本地方件或在线朗读RFC文档,当然也可以修改一下,做成在线朗读新闻之类的,另本来想实现一个读中文小说的小程序,目前没有发现对中文支持得非常好的,且是免费的语音处理引擎,只能使用TTS实现一个英文的了,就当是用来练习听力了。 1、准备: a. 下载pyTTS, http://sou原创 2012-02-19 09:00:47 · 7737 阅读 · 0 评论 -
Python:使用matplotlib绘制图表
今天看了一下使用python绘制图表的方法,有个强大的类库matplotlib,可以制作出高质量的2D和3D图形,先记录一下,以后慢慢学习。 matplotlib下载及API手册地址:http://sourceforge.net/projects/matplotlib/files/matplotlib/ 数学库numpy下载及API手册地址:http://www.scipy.org原创 2012-02-27 00:17:07 · 45815 阅读 · 1 评论