
脚本语言
文章平均质量分 78
socrates
C/C程序员PythonPostgreSQL爱好者
展开
-
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 · 13454 阅读 · 5 评论 -
Python:实用抓图工具开发介绍(含需求分析、设计、编码、单元测试、打包、系统测试、发布各环节)
从今年1月份开始学习python以来,一直写一些很小的脚本文件,也主要是为了练习,今天花了些时间,写了一个还算功能齐全的小程序,并完成单元测试、系统测试、及打包等工作。与任何商业软件开发过程一样,小程序从无都有,也必须经历(需求分析、设计、编码、单元测试、打包、系统测试、发布各阶段),所以,借此,结合实现过程中遇到的问题,将此程序各环节做一个简单介绍,算做笔记,如果能对读者有所帮助,就再好不过了。原创 2012-04-07 18:37:16 · 8019 阅读 · 3 评论 -
Python:程序最小化到托盘功能实现
本文讲解如何装python的开发的命令行程序最小化到托盘的方法,并提供菜单操作功能。 上个月使用python实现了一个多功能抓图工具,见《Python:一个多功能的抓图工具开发(附源码)》,此程序为一个命令行程序,windows下运行时会弹出一个cmd窗口,里面什么内容也没有,用户使用时直接按下快捷键进行操作。一直想着优化一下,今天想到是否以通过最小化到托盘,并提供菜单操作和快捷键操作两种方原创 2012-04-06 01:00:12 · 32327 阅读 · 10 评论 -
Python:新浪微博应用开发简介(认证及授权部分)
很早之前写了两篇通过python程序发送新浪微博的文章(《Python:通过命令行发送新浪微博》和《Python:通过摄像头抓取图像并自动上传至新浪微博》),刚看到有朋友邮件咨询其中有关细节问题,感到文章没有写清楚,故新写一篇,补充开发中的一些细节。 一、注册个新浪微博账号,方法略。 二、在开放平台上注册个应用,网址:http://open.weibo.com/ 三、注册后会得到应用的原创 2012-04-05 12:16:35 · 8934 阅读 · 38 评论 -
Python:程序发布方式简介一(打包为可执行文件EXE)
本文介绍如何使用py2exe来将python源程序打包成文件。以上一篇文章《Python:一个多功能的抓图工具开发(附源码)》中的源程序为例进行讲述。 1、下载并安装py2exe,可在www.py2exe.org上下载最新版本。 2、编写安装脚本,比较简单,不过多解释,如下: Screenshot_setup.py#!/usr/bin/env python# -*- cod原创 2012-03-31 23:57:42 · 30749 阅读 · 1 评论 -
Python:一个多功能的抓图工具开发(附源码)
最近几年,各种论坛回帖中经常会见到这样的回复:无图无真相。还有经常写工作周报或者实验结果时,均要贴几张图上去。所以,抓图的需求在工作和生活中应用算是比较多的了,如果在家,我个人一直使用PrtSc键或QQ的抓图工具,用PrtScr键的一个问题是,我必须打开画图板(mspaint.exe),把剪贴板中的图片黏贴到画布上,再另存为,还是比较麻烦的。如果在公司,因为用不了QQ,此时,要抓个一块区域上的图,原创 2012-03-10 22:29:36 · 14786 阅读 · 32 评论 -
Python:通过自定义系统级快捷键来控制程序开始或停止记录日志(使用小技巧解决一个貌似无解的问题)
在之前写的一篇《Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中》文章中,有个读者留言如下: 这看似一个很平常的需求,但实现起来并不容易,如果用快捷键来控制一个程序干些别的事情那是非常容易的,但关键是本程序刚好是用hook来监控键盘,所以必须使用PumpMessages(),而此函数使用当前程序进入消息循环,它抓取每个鼠标和键盘事件。当我们的程序跑起来后,按下停止的热原创 2012-03-10 00:00:15 · 10869 阅读 · 6 评论 -
Python:通过自定义系统级快捷键来控制程序运行
晚上学习了下python定义系统级快捷键的方法,这里说的系统级快捷键指的是,如果当前程序窗口不为激活窗口,也能收到快捷键消息,实现的是一个控制键盘和鼠标监听的程序,如,按下Ctrl + F3,程序开始记录监控日志。本来想实现按下Ctrl + F4程序程序停止记录日志,但测试时遇到了一个没有目前还没有想到解决办法的问题,先看实现。一、代码:#!/usr/bin/env python# -*原创 2012-03-09 01:12:30 · 15369 阅读 · 2 评论 -
Python:通过远程监控用户输入来获取淘宝账号和密码的实验(二)
从今天早上产生了写个获取淘宝账号及密码的想法后,到现在,全天都在看书、调试程序,12小时内写了三篇相关博客,如下: 《Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性》 《Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性(二)》 《Python:通过远程监控用户输入来获取淘宝账号和密码的实验(一)》 刚刚把写完了最后一个功能,将用户机原创 2012-03-03 19:51:36 · 7200 阅读 · 5 评论 -
Python:桌面气泡提示功能实现
在写桌面软件时,通常会使用到托盘上的泡泡提示功能,让我们来看看使用python如何实现这个小功能。一、Linux系统: 在Linux上,实现一个气泡提示非常简单,使用GTK实现的pynotify模块提供了些功能,我的环境是Ubuntu,默认安装此模块,如果没有,可从http://home.gna.org/py-notify/下载源文件编译安装一个。实现代码如下:#!/usr/bi原创 2012-04-10 22:42:31 · 14932 阅读 · 5 评论 -
Python:获取新浪微博用户的收听列表和粉丝列表
在文章《 Python:通过命令行发送新浪微博》中有朋友多次留言咨询用户粉丝列表获取的方法,本来不打算在写这方面的东东,但出于程序员的特有的执着,还是写一了一下。这位朋友提供了一个链接点击打开链接,其中指定了weiapi(python版本的一个缺陷),参考其先修改了下API,改后如下: parsers.py中ModelParser类的parse方法,如果你的和下面不一样,请参考修改。c原创 2012-04-14 22:23:06 · 14946 阅读 · 28 评论 -
Python:未来三个月的python学习计划
从年初接触python至今,三个多月来,学习了一些基本的知识,也写了30多篇总结及小程序,前天通宵加班,昨天调休,闲了一天,突然想写写什么,但实在没有想到具体写个什么东东,用python写过摄像头程序、新浪微博、语音处理、SQLite及PostgreSQL数据库处理、图表处理、Hook相关编程,抓图工具、托盘等,都是想到啥就写啥,没有深入地学习过一个模块。 昨晚认真考虑了下,计划未来三个月原创 2012-04-13 22:31:39 · 7632 阅读 · 7 评论 -
Python:pygame游戏编程之旅六(游戏中的声音处理)
一款人性化的游戏中缺少不了声音,比如角色挂时惨叫一声,或PK时武器交锋的声音,还有就是英雄出场时的背景音乐,无不涉及到声音,本节我们就来看一下pygame中如何控制声音,下面是一个例子,但博客上传不了多媒体程序,否则就可以听到加勒比海盗中最为经典的配乐《he's a pirate》了,程序实现了通过上下方向键来控制音量大小的功能。一、实例界面:1、初始音量为10 2、通过上下方向键原创 2012-04-22 00:29:28 · 7314 阅读 · 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 · 11996 阅读 · 0 评论 -
Python:编程“八荣八耻”之我见
刚在逛CPyUG时看到了个主题讨论python的八荣八耻,见:http://bit.ly/4jeBor, 主题内容如下:以动手实践为荣,以只看不练为耻。 以打印日志为荣,以单步跟踪为耻。 以空白分隔为荣,以制表分隔为耻。 以单元测试为荣,以手工测试为耻。 以代码重用为荣,以复制粘贴为耻。 以多态应用为荣,以分支判断为耻。 以Python原创 2012-05-03 23:48:16 · 6308 阅读 · 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 · 14629 阅读 · 5 评论 -
Python:pygame模块及SDL库简介
一、pygame pygame是一个设计用来开发游戏的python模块,在SDL库的基础上提供了各种接口,从而使用用户能够使用python语言创建各种各样的游戏或多媒体程序,pygame支持多种操作系统,当然,它是一个开源的软件。 以下是官方的说明: pygame是 跨平台 Python模块,专为电子游戏设计。 包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而原创 2012-04-13 23:08:17 · 10936 阅读 · 0 评论 -
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 · 12682 阅读 · 6 评论 -
Python:pygame游戏编程之旅三(玩家控制的小球)
上一节实现了小球自由移动,本节在上节基础上增加通过方向键控制小球运动,并为游戏增加了背景图片。一、实现:# -*- coding:utf-8 -*-import osimport sysimport pygamefrom pygame.locals import *def load_image(pic_name): ''' Function:图片加载函原创 2012-04-15 19:33:06 · 9640 阅读 · 6 评论 -
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 · 12040 阅读 · 2 评论 -
Python:通过远程监控用户输入来获取淘宝账号和密码的实验(一)
在前面两篇文章中实现了将用户输入信息抓取到后,写入文件,把用户操作的截图也保存了下来,但些文件是在用户的机器上的,获取到并不容易,本次再次优化了下,将用户输入发送到监控者的电脑上,图片传送回来目前还没有实现,后续在分析。一、代码:服务端(hook_server.py):#!/usr/bin/env python# -*- coding: utf-8 -*-import soc原创 2012-03-03 16:51:45 · 10805 阅读 · 2 评论 -
Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性(二)
在上一篇文章《Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性》中,通过日志记录了一些可能是用户输入的用户名或密码等信息,但如果用户在网站上输入的是其他信息,我们从中区分出敏感信息还是要花费时间来分析的,刚才想了想,将功能优化了一下。一、思路: 1、在抓取到用户输入的信息后,除了记录到日志中外,再给当前屏幕截一张图,以日期命名; 2、通过对于图片名与日志中ERROR原创 2012-03-03 13:37:14 · 4784 阅读 · 6 评论 -
Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
在昨天的文章《Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中》中,我们实现了将用户输入记录到文件的功能,今天看看这一功能的实际应用。一、实现思路: 1、判断当前用户操作的窗口,如果窗口是淘宝网的页面,则开始监控。 2、将用户在淘宝上的所有输入全部记录下来,通常这些记录中会包括用户登陆时的用户名、密码,电话、邮箱等敏感信息。二、代码实现:#!/usr/原创 2012-03-03 09:20:01 · 13461 阅读 · 15 评论 -
Python:日志模块logging的应用
通常,在商用软件中均会有完整的日志机制,之前使用C语言实现过一个《简单的分级别写日志程序》,具有以下功能和不足:/************************************************************************/ * 摘 要:此文件实现了普通WINDOWS程序中的日志功能 * 主要有以下特点: *原创 2012-02-11 14:57:38 · 9347 阅读 · 0 评论 -
Python:简单的摄像头程序实现
昨天安装了pygame,还没有具体学习如何用,先写了个最简单且原始的摄像头程序,画面还算流畅,不过还存在较多缺陷,后面对pygame熟悉了再一一优化。 1、实现:#!/usr/bin/env python# -*- coding: utf-8 -*-from VideoCapture import Deviceimport timeimport sys, pygamepyg原创 2012-02-10 21:29:56 · 33207 阅读 · 6 评论 -
Python:实现文件归档
初学python,整理了下书上的例程,做为学习的第一个实用程序。#!/usr/bin/pyhton#Filename: backup.py#功能说明:备份文件,以当前日期为子目录存放备份后的文件import osimport time#要备份的目录,可在此列表中增加source = [r'E:\360Downloads']#备份文件存放的目录targ原创 2012-01-04 23:34:13 · 3283 阅读 · 1 评论 -
Python:通过摄像头抓取图像并自动上传至新浪微博
通过上一篇文章《Python:通过摄像头实现的监控功能》,突然想到将每次采集到的图片可以直接上传至微博,然后可以通过手机准实时查看要监控的地方,实现思路如下: a.程序A 每30s通过摄像头采集一次图像,并保存; b.程序B也是每30s将采集到的图片上传至新浪微博; 实现如下: 1. 采集图像程序A:#!/usr/bin/env python# -*- codi原创 2012-02-09 21:51:06 · 10641 阅读 · 6 评论 -
Python:通过摄像头实现的监控功能
此方案为朋友LSJ提出并实现的,转过来供学习用,由于在测试时没有架设WEB服务器,也没有做手机上的测试,仅通过PC测试了下,最完整解决方案请参考原出处《DIY手机监控系统》。方法: 1 下载并安装VideoCapture、PIL。 2.编码,3s抓一个图片并保存from VideoCapture import Deviceimport time, stringinterval原创 2012-02-08 23:54:11 · 25480 阅读 · 1 评论 -
Python:通过命令行发送新浪微博
1.、注册一个新浪应用,得到appkey和secret,以及token,将这些信息写入配置文件sina_weibo_config.ini,内容如下,仅举例:[userinfo]CONSUMER_KEY=8888888888CONSUMER_SECRET=777777f3feab026050df37d711200000TOKEN=2a21b19910af7a4b1962ad6ef99999原创 2012-02-06 21:55:34 · 10849 阅读 · 25 评论 -
Python:实现一个小算法
需求:恒定的输入A次呼叫,失败次数记为X,成功为B,则失败率为X/A,当X/A>10%时,启动算法,算法为下次呼叫成功次数为B1=(N-1)/N*B,B2=(N-2)/n*B1Bn=(N-1)!/(N)n*B,那么地N次的成功率就是R=(N-1)!/(N)n*B/A,目前要看看R与5%的关系实现:from functools import reduce原创 2012-01-17 23:50:36 · 2175 阅读 · 0 评论 -
Python:读文件和写文件
1. 写文件#! /usr/bin/python3'makeTextFile.py -- create text file'import osdef write_file(): "used to write a text file." ls = os.linesep #get filename fname = inpu原创 2012-01-08 23:20:10 · 16403 阅读 · 3 评论 -
Python:操作嵌入式数据库SQLite
去年写过一篇通过C语言操作SQLite数据库的文章《SQLITE学习笔记一(打开、操作及关闭数据库,C程序实现)》,最近在学习python,所以使用ptyhon实现了一下,实现不多描述了,代码中的注释已经非常详细了。直接贴上来。1. 实现:#!/usr/bin/env python# -*- coding: utf-8 -*-#导入日志及SQLite3模块import loggin原创 2012-02-12 12:15:35 · 4931 阅读 · 0 评论 -
Python:操作PostgreSQL数据库(使用PyGreSQL)
昨天使用python写了操作嵌入式数据库SQLite的方法,今天用python写了针对个人比较熟悉的开源数据库PostgreSQL的常用操作,开发过程简介如下:一、环境信息: 1、操作系统: RedHat Enterprise Linux 4 Windows XP SP2 2、数据库: PostgreSQL8.3 3、原创 2012-02-12 18:11:19 · 32687 阅读 · 6 评论 -
Python:操作PostgreSQL数据库(使用DB API2.0)
昨天在《Python:操作PostgreSQL数据库(使用PyGreSQL)》一文中使用PyGreSQL模块实现了对PostgreSQL数据库的操作,今天使用另一种python通用的数据库访问接口DB API2.0来实现一下同样的操作,其实在《Python:操作嵌入式数据库SQLite》一文中我们使用的就是DB API2.0,我们可以看到,它对不同数据库提供了统一的访问接口,更多关于DB AP原创 2012-02-14 00:10:32 · 8388 阅读 · 1 评论 -
Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中
使用pyhook模块可以很快地完成键盘及鼠标事件捕获,此模块可从http://sourceforge.net/projects/pyhook/files/pyhook/1.5.1/下载,API手册:http://pyhook.sourceforge.net/doc_1.5.0/,网站上提供了个使用的例子,改写了下,将信息记录到文件中,本来想使用python的logging模块,但测试时发现,因为鼠原创 2012-03-01 23:36:24 · 49921 阅读 · 15 评论 -
Python:使用pycha快速绘制办公常用图二(使用样式定制个性化图表)
在昨天的文章《Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)》中,讲述了使用pycha绘制各种办图常见图,今天学习了下如何定制这些图表的样式,在pycha模块的源码中,char.py文件中定义了默认的样式格式,如下:DEFAULT_OPTIONS = Option( axis=Option( lineWidth=1.原创 2012-02-29 00:07:48 · 5256 阅读 · 2 评论 -
Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)
今天晚上学习了下使用pycha模块来制作各种办公用图的方法,非常简单,本文使用其绘制了7种图表。 此模块和API地址为:http://www.lorenzogil.com/projects/pycha/,需要的朋友可以下载下来玩一下,下面是我晚上学习时写的一点东东,分享之。一、代码:#!/usr/bin/env python# -*- coding: utf-8 -*-原创 2012-02-28 00:42:52 · 20074 阅读 · 12 评论 -
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 · 18767 阅读 · 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 · 5922 阅读 · 1 评论 -
Python:将句子中的单词全部倒排过来,但单词的字母顺序不变
早上看到好友未央的一篇博文《一道google的测试工程师笔试题》,内容如下:这是去年面试google测试工程师的一道题,题目如下:设计一个函数,使用任意语言,完成以下功能:一个句子,将句子中的单词全部倒排过来,但单词的字母顺序不变。比如,This is a real world,输出结果为world real a is this. 他用C++很好的封装了一个函数实现了此功能,如下,更原创 2012-02-18 18:59:01 · 9052 阅读 · 2 评论