
Python学习笔记
文章平均质量分 53
记录学习Python的点滴。
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 评论 -
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 · 2867 阅读 · 2 评论 -
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 · 6916 阅读 · 17 评论 -
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 · 4461 阅读 · 1 评论 -
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 · 4693 阅读 · 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 · 10871 阅读 · 3 评论 -
wxPython:颜色选择对话框wx.ColourDialog
本节看一下颜色选择对话框的使用,比较简单,先看实例,再讲解知识点:代码:def OnOtherColor(self, event): ''' 使用颜色对话框 ''' dlg = wx.ColourDialog(self) dlg.GetColourData().SetChooseFull(True)原创 2012-08-14 21:36:45 · 3130 阅读 · 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 -*-''' 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:事件处理介绍二
事件处理流程,如下:wxPython首先在触发对象中查找匹配事件类型的被绑定的处理器函数,如果找到,刚相应方法被执行。如果没找到,wxPython将检查该事件是否传送到了上一级的容器,如果是,父窗口被检查,如此一级级向上查找,直到找到一个处理函数或到达顶层窗口。看一个触发多个事件的实例:#!/usr/bin/env python# -*- coding: utf-原创 2012-08-14 21:28:04 · 3448 阅读 · 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 · 5075 阅读 · 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:工具栏、状态栏、菜单实现
与绘制按钮一样,很简单,直接看代码:#!/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:面板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: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程序
一、正常关闭 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程序由两个必要的对象组成,即应用程序对象APP和顶级窗口对象Frame,其基本功能如下: 应用程序对象APP管理主事件循环MainLoop()。 顶级窗口对象Frame管理数据,控制并呈现给用户。 下图表示两个基础对象和程序其他部分的关系: wx.App子类创建步骤: 定义这个子类原创 2012-08-14 21:07:49 · 1384 阅读 · 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 评论 -
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 评论 -
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:编程“八荣八耻”之我见
刚在逛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 · 14613 阅读 · 5 评论 -
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: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 · 12033 阅读 · 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 · 9607 阅读 · 6 评论 -
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 评论 -
Python:pygame游戏编程之旅一(Hello World)
按照上周计划,今天开始学习pygame,学习资料为http://www.pygame.org/docs/,学习的程序实例为pygame模块自带程序,会在程序中根据自己的理解加入详细注释,并对关键概念做说明。 一、pygame版本的hello world程序。代码:#!/usr/bin/python# -*- coding:utf-8 -*-import sys#导入py原创 2012-04-15 11:52:52 · 12678 阅读 · 6 评论 -
Python:获取新浪微博用户的收听列表和粉丝列表
在文章《 Python:通过命令行发送新浪微博》中有朋友多次留言咨询用户粉丝列表获取的方法,本来不打算在写这方面的东东,但出于程序员的特有的执着,还是写一了一下。这位朋友提供了一个链接点击打开链接,其中指定了weiapi(python版本的一个缺陷),参考其先修改了下API,改后如下: parsers.py中ModelParser类的parse方法,如果你的和下面不一样,请参考修改。c原创 2012-04-14 22:23:06 · 14936 阅读 · 28 评论 -
Python:pygame模块及SDL库简介
一、pygame pygame是一个设计用来开发游戏的python模块,在SDL库的基础上提供了各种接口,从而使用用户能够使用python语言创建各种各样的游戏或多媒体程序,pygame支持多种操作系统,当然,它是一个开源的软件。 以下是官方的说明: pygame是 跨平台 Python模块,专为电子游戏设计。 包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而原创 2012-04-13 23:08:17 · 10924 阅读 · 0 评论 -
Python:未来三个月的python学习计划
从年初接触python至今,三个多月来,学习了一些基本的知识,也写了30多篇总结及小程序,前天通宵加班,昨天调休,闲了一天,突然想写写什么,但实在没有想到具体写个什么东东,用python写过摄像头程序、新浪微博、语音处理、SQLite及PostgreSQL数据库处理、图表处理、Hook相关编程,抓图工具、托盘等,都是想到啥就写啥,没有深入地学习过一个模块。 昨晚认真考虑了下,计划未来三个月原创 2012-04-13 22:31:39 · 7613 阅读 · 7 评论 -
Python:桌面气泡提示功能实现
在写桌面软件时,通常会使用到托盘上的泡泡提示功能,让我们来看看使用python如何实现这个小功能。一、Linux系统: 在Linux上,实现一个气泡提示非常简单,使用GTK实现的pynotify模块提供了些功能,我的环境是Ubuntu,默认安装此模块,如果没有,可从http://home.gna.org/py-notify/下载源文件编译安装一个。实现代码如下:#!/usr/bi原创 2012-04-10 22:42:31 · 14919 阅读 · 5 评论 -
Python:实用抓图工具开发介绍(含需求分析、设计、编码、单元测试、打包、系统测试、发布各环节)
从今年1月份开始学习python以来,一直写一些很小的脚本文件,也主要是为了练习,今天花了些时间,写了一个还算功能齐全的小程序,并完成单元测试、系统测试、及打包等工作。与任何商业软件开发过程一样,小程序从无都有,也必须经历(需求分析、设计、编码、单元测试、打包、系统测试、发布各阶段),所以,借此,结合实现过程中遇到的问题,将此程序各环节做一个简单介绍,算做笔记,如果能对读者有所帮助,就再好不过了。原创 2012-04-07 18:37:16 · 8011 阅读 · 3 评论 -
Python:程序最小化到托盘功能实现
本文讲解如何装python的开发的命令行程序最小化到托盘的方法,并提供菜单操作功能。 上个月使用python实现了一个多功能抓图工具,见《Python:一个多功能的抓图工具开发(附源码)》,此程序为一个命令行程序,windows下运行时会弹出一个cmd窗口,里面什么内容也没有,用户使用时直接按下快捷键进行操作。一直想着优化一下,今天想到是否以通过最小化到托盘,并提供菜单操作和快捷键操作两种方原创 2012-04-06 01:00:12 · 32281 阅读 · 10 评论