随笔分类 -  python

摘要:最近写程序发现一些效率陷阱,会大大增加运行时间和空间损耗,总结一下:1.避免在大循环中使用 map(string.strip,somelist), string.strip类方法虽然方便,但是及其耗时. 取消后我的一个循环时间从33秒减到4秒. 阅读全文
posted @ 2011-05-11 16:35 babykick 阅读(250) 评论(0) 推荐(0)
摘要:1、新建win32控制台应用程序,名字为dllname,应用程序类型选dll,完成.2、dllname.cpp中增加代码:#include "stdafx.h" extern "C" __declspec(dllexport) int __stdcall Sum(int a, int b) { return a+b; } 3、生成,dll创建出来4、建立test.py文件:import ctypesa = ctypes.windll.LoadLibrary('dllname.dll')test = a.Sumtest.argtypes = 阅读全文
posted @ 2011-05-01 14:40 babykick 阅读(714) 评论(0) 推荐(0)
摘要:综合网上的教程和自己的测试,将boost.python的example示例成功编译成python模块,具体过程如下:我的环境:VS2008,python26,boost1_40一、安装boost使用boostpro可配置已编译包安装,这种方式比较简单,源码编译安装方式我没有尝试,这里选择的是1_40版本,包选择的时候选择勾选python,子选项可选择vs的版本。二、配置include和library path在vs2008里面将boost和python的include和library路径分别加入到 "包含文件"和"库文件"两栏中我配置的是:包含文件(in 阅读全文
posted @ 2011-05-01 14:20 babykick 阅读(4671) 评论(3) 推荐(0)
摘要:Python调用Dll摘抄网上的例子.python中的模块 ctypes.py可以很方便的调用windows中的dll文件(动态链接库)所提供的输出函数,方法是:如我们有一个test.dll文件,内部定义如下:extern "C"{int __stdcall test( void* p, int len){return len;}}在python中我们可以用以下两种方式载入1.import ctypesdll = ctypes.windll.LoadLibrary( 'test.dll' )2.import ctypesdll = ctypes.WinDll 阅读全文
posted @ 2011-04-30 23:10 babykick 阅读(1787) 评论(0) 推荐(0)
摘要:Python + twister 效率相关 转载自[http://bigtoy4boy.com/blog/2009/05/performance-tuning-of-nignx-and-twisted/] 最近这两天一直在测试自己用python+twisted写的一个http服务器的效率,几度从心理崩溃的边缘闯了过来,残喘留下点墨迹,警醒后来者。 这个服务程序没有什么业务逻辑,就是负责保持一大堆连接,等待服务器状态被更改了以后就通知所有的保持连接,返回一个信号值。如何维持这么多连接是这个应用的关键。之前选择了几种方案,感觉太消耗服务器资源,动不动就内存吃光了,又懒得用C从头写一个服务程序(太耗 阅读全文
posted @ 2011-04-07 12:51 babykick 阅读(1051) 评论(0) 推荐(0)
摘要:Python模块学习 ---- subprocess 创建子进程http://www.python.org/doc/current/library/subprocess.html最近,我们老大要我写一个守护者程序,对服务器进程进行守护。如果服务器不幸挂掉了,守护者能即时的重启应用程序。上网Google了一下,发现Python有很几个模块都可以创建进程。最终我选择使用subprocess模块,因为在Python手册中有这样一段话: This module intends to replace several other, older modules and functions, such as: 阅读全文
posted @ 2011-04-01 15:23 babykick 阅读(856) 评论(0) 推荐(0)
摘要:Python正则表达式操作指南出自Ubuntu中文原文出处:http://www.amk.ca/python/howto/regex/ 原文作者:A.M. Kuchling (amk@amk.ca) 授权许可:创作共用协议 翻译人员:FireHare 校对人员:Leal 适用版本:Python 1.5 及后续版本 摘要 本文是通过Python的 re 模块来使用正则表达式的一个入门教程,和库参考手册的对应章节相比,更为浅显易懂、循序渐进。本文可以从 http://www.amk.ca/python/howto 捕获目录 目录[隐藏]1 简介2 简单模式 2.1 字符匹配2.2 重复3 使用正则 阅读全文
posted @ 2011-03-30 09:14 babykick 阅读(3306) 评论(0) 推荐(2)
摘要:python模块学习 ---- smtplib 邮件发送 收藏 在基于互联网的应用中,程序经常需要自动地发送电子邮件。如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册;当用户忘记登陆密码的时候,通过邮件来取回密码。smtplib模块是python中smtp(简单邮件传输协议)的客户端实现。我们可以使用smtplib模块,轻松的发送电子邮件。下面的例子用了不到十行代码来发送电子邮件:#coding=gbk import smtplib smtp = smtplib.SMTP() smtp.connect("smtp.yeah.net", "25" 阅读全文
posted @ 2011-03-28 11:49 babykick 阅读(7594) 评论(0) 推荐(0)
摘要:【转】 Python源代码编译成 pyc pyo2011-02-28 17:23【转】 Python源代码编译成 pyc pyo什么是pyc文件pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或 者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。什么是pyo文件pyo是优化编译后的程序 python -O 源 阅读全文
posted @ 2011-03-25 23:22 babykick 阅读(3063) 评论(1) 推荐(0)
摘要:Windows下配置python环境变量2011-03-02 08:39Windows下配置python环境变量(2010-09-03 23:40:14)转载标签:杂谈默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:\python2.6,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:(为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。 阅读全文
posted @ 2011-03-25 23:20 babykick 阅读(27396) 评论(0) 推荐(0)
摘要:【转】 (转)manifest的作用2011-03-18 02:26转载自 xuchengxc最终编辑 xuchengxc问题描述:大部分的vs.net 2005的用户在新建“win32项目-windows应用程序”的时候,新建的工程都通不过去,出现如下提示: Solution to “MSVCR80D.dll not found”“没有找到MSVCR80D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”由于vs.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这样会生产一个 阅读全文
posted @ 2011-03-25 23:19 babykick 阅读(1624) 评论(0) 推荐(0)
摘要:python之 __init__.py2011-03-03 10:22python __init__.py © 老王python / 2010-3-23 / 13:28 / python教程python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import。这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了。有没有办法,像Java的Package一样,将多个.py文件组织起来,以便在外部 阅读全文
posted @ 2011-03-25 23:17 babykick 阅读(332) 评论(0) 推荐(0)
摘要:PEP:8Title:Style Guide for Python CodeVersion:720846f4433eLast-Modified:2011-02-17 23:12:04 +0000 (Thu, 17 Feb 2011) Author:Guido van Rossum <guido at python.org>, Barry Warsaw <barry at python.org>Status:ActiveType:ProcessCreated:05-Jul-2001Post-History:05-Jul-2001Introduction This docu 阅读全文
posted @ 2011-03-25 23:16 babykick 阅读(831) 评论(0) 推荐(0)
摘要:python 时间日期处理汇集2011-03-14 16:52‍#计算精确时间差#----------------------------- # High Resolution Timerst1=time.clock()# Do Stuff Heret2=time.clock()print t2-t1# 2.27236813618# Accuracy will depend on platform and OS,# but time.clock() uses the most accurate timer it cantime.clock(); time.clock()# 174485.513 阅读全文
posted @ 2011-03-25 23:13 babykick 阅读(4410) 评论(0) 推荐(1)
摘要:核心笔记 : Python 原始字符串(raw strings)的用法2011-03-16 11:00核心笔记 : Python 原始字符串(raw strings)的用法你可能已经看到前面关于原始字符串用法的一些例子了。原始字符串的产生正是由于有正则表达式的存在。原因是ASCII 字符和正则表达式特殊字符间所产生的冲突。比如,特殊符号“\b”在ASCII 字符中代表退格键,但同时“\b”也是一个正则表达式的特殊符号,代表“匹配一个单词边界”。为了让RE 编译器把两个字符“\b”当成你想要表达的字符串,而不是一个退格键,你需要用另一个反斜线对它进行转义,即可以这样写:“\\b”。但这样做会把问 阅读全文
posted @ 2011-03-25 23:09 babykick 阅读(6455) 评论(0) 推荐(0)
摘要:Using P4D with Python 2.6, 3.02011-03-17 17:09Using P4D with Python 2.6, 3.0 Python 2.6 and Python 3.0 rely on Microsoft C++ dynamic link libraries which are installed using Side by Side installation and are no longer placed in the Windows System32 directory. This affects Delphi programs using P4D. 阅读全文
posted @ 2011-03-25 23:08 babykick 阅读(1122) 评论(0) 推荐(0)
摘要:+ Using Delphi and Python togetherTalk for the Australian Delphi User Group (ADUG), July and August 2001-Andy Bulkaabulka@netspace.net.auDelphi = a great object oriented language, and a fantastic RAD environment and framework. You can build excellent GUI's in Delphi that run very fast and have a 阅读全文
posted @ 2011-03-25 23:06 babykick 阅读(3614) 评论(0) 推荐(0)
摘要:【转】 delphi - bpl与dll之关系2011-03-24 15:47转载自 kbkiss最终编辑 babykickBPL vs. DLL(原文http://www.delphi3000.com/ 翻译:房客)第一部分:有关包的介绍一般我们编写编译一个DELPHI应用程序时,会产生一个EXE文件,也就是一个独立的WINDOWS应用程序。很重要的一点:区别于Visual Basic,DELPHI产生的是预先包裹的应用程序是不需要大量的运行库(DLL's)。假设:打开Delphi默认的工程(只有一个空白form),F9她将编译生成一个大约295 KB (Delphi 5)的可执行文 阅读全文
posted @ 2011-03-25 22:29 babykick 阅读(2055) 评论(1) 推荐(0)