python
m4vsak123
这个作者很懒,什么都没留下…
展开
-
简单的TCP通讯(python)
这是一个简单的python实现的tcp通讯例子。 服务器:#!/usr/bin/pythonimport socket#创建sockets = socket.socket()# socket.gethostname()可以得到本机的IPhost = socket.gethostname()port = 1234s.bind((host,...2011-09-21 18:27:59 · 127 阅读 · 0 评论 -
python 字典
python中的字典(dictionary)在perl中叫做哈希(hash),都是key-value的存储结构。在这里介绍了一些小特性。 更新: 声明一个字典:d = {'name':'xiaoming', 'age':'12', 'sex':'f'}我们可以使用另外一个字典去更新它。比如另外一个字典是:new = {'age':'22', 'weight':...原创 2012-03-01 16:48:08 · 87 阅读 · 0 评论 -
Python模块tempfile
如何你的应用程序需要一个临时文件来存储数据,但不需要同其他程序共享,那么用TemporaryFile函数创建临时文件是最好的选择。其他的应用程序是无法找到或打开这个文件的,因为它并没有引用文件系统表。用这个函数创建的临时文件,关闭后会自动删除。看这个博客:http://www.cnblogs.com/captain_jack/archive/2011/01/19/1939555.html...原创 2012-03-01 19:01:55 · 99 阅读 · 0 评论 -
python装饰器decorator
博客:http://blog.donews.com/limodou/archive/2004/12/19/207521.aspx原创 2012-03-02 10:57:58 · 66 阅读 · 0 评论 -
python常用模块(转载)
项目中用到了python,从网上搜了下大概常用的一些模块,先记录在这里,然后自己用到的也记录在这,以后用到了新的模块然后在更新在此,哎!记性在好不如铅笔。此次项目中用到的模块:SSH的:paramiko, 用来写SSH的。adodb:领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahche...原创 2012-03-02 11:40:47 · 73 阅读 · 0 评论 -
python中的单例模式
在网上看了半天python的单例模式,有好几种方法,但是其中一种让我感觉很舒服,是这样的: 用装饰器实现的单例模式: def singleton(cls): instances = {} def getinstance(): if cls not in instances: ...原创 2012-03-05 11:06:36 · 61 阅读 · 0 评论 -
python中的argparse(转载)
# -*- coding: utf-8 -*-import argparseargs = "-f hello.txt -n 1 2 3 -x 100 -y b -z a -q hello @args.txt i_am_bar -h".split() # 使用@args.txt要求fromfile_prefix_chars="@"# args.txt文件中应该一行一个参数,想...原创 2012-03-05 13:29:17 · 256 阅读 · 0 评论 -
python的pack unpack函数
c语言在网络通信中经常会传输结构体数据,通常是二进制格式的,而python要想和c程序通信必须能够认识二进制的数据才行,不仅要认识而且还要能够解开c中的结构体数据,因为结构体通常会涉及到内存对齐的问题。 下面是一个例子,用python中的struct模块可以完成这个功能: python写的服务器:import socket, structs = socket.socke...原创 2012-03-05 16:28:01 · 522 阅读 · 0 评论 -
python中的import(自己乱想)
没有任何根据,自己猜测的,import在main执行之前执行,仅仅是把被import模块中的内容放进import语句处,也就是吧代码“搓”到一起,之后 if __name__ == '__main__' 才开始执行。...原创 2012-03-05 16:37:43 · 63 阅读 · 0 评论 -
python httplib模块的http客户端
httplib模块写的http客户端: import httplib conn = httplib.HTTPConnection('10.15.2.104', 80)conn.request('GET', r'http://10.15.2.104/index.html')r = conn.getresponse()while 1: data = r.r...原创 2012-03-29 10:34:09 · 130 阅读 · 0 评论 -
python 网络随即绑定一个可用的tcp端口
端口写成0就可以,python会查找一个可用的tcp口绑定。 def get_open_port(): import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(("",0)) s.listen(1) ...原创 2012-11-29 17:32:39 · 1161 阅读 · 0 评论 -
python获取网卡的IP地址
用这个函数可以实现功能:import socketimport fcntlimport structdef get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( ...2012-10-12 18:17:26 · 203 阅读 · 0 评论 -
python getattr函数
这篇文章写的不错: http://f002489.iteye.com/blog/667795原创 2012-03-01 16:10:57 · 77 阅读 · 0 评论 -
PyQt测试小程序
import sysfrom PyQt4 import QtGuiapp = QtGui.QApplication(sys.argv)label = QtGui.QLabel("Hello Qt!")label.show()sys.exit(app.exec_()) import sysfrom PyQt4 import QtCore, QtGui...原创 2012-02-14 18:14:36 · 126 阅读 · 0 评论 -
HTTP服务器cherrypy
cherrypy是python的一个模块,它本身就是一个HTTP服务器,使用相当方便,使用HTTP呈现一些东西相当的方便,直接用浏览器就可以观察到。 cherrypy的首页 http://www.cherrypy.org/ 上有这样一个例子: import cherrypyclass HelloWorld(object): def index(self): ...2011-12-13 14:40:59 · 170 阅读 · 0 评论 -
argparse命令含参数模块
argparse是python的一个命令行参数模块,可以解析命令行参数,生成帮助等。 你可以这样使用它: #!/usr/bin/pythonfrom argparse import ArgumentParserp = ArgumentParser(usage='it is usage tip', description='this is a test')p.ad...原创 2011-12-22 15:21:52 · 97 阅读 · 0 评论 -
自定义信号处理方式
在python中可以自定义信号的处理方式,在命令行下运行起一个程序,然后按ctrl+c程序会被中止,因为对于ctrl+c组合键发出的SIGINT信号,默认处理方式是中止当前程序。当然这里可以自定义处理方式: #!/usr/bin/pythonimport signalsignal.signal(signal.SIGINT, signal.SIG_IGN) sig...原创 2011-12-22 17:34:03 · 206 阅读 · 0 评论 -
使用类中的函数和变量
有一个类Test,如下: #!/usr/bin/pythonclass Test: def __init__(self): self.m1 = 123 def m2(self): print "function m2" def cc(self): ...原创 2011-12-26 11:12:13 · 90 阅读 · 0 评论 -
property
property函数必须是在类中用。 它可以设置类中某个私有成员的访问函数,包含读取,设置,删除和文档。例如: #!/usr/bin/pythonclass Test(object): def __init__(self, n): self._x = n def getx(self): ...原创 2011-12-27 18:20:46 · 58 阅读 · 0 评论 -
logging模块
logging模块是python内置的的日志模块。我看了一些程序感觉logging模块用法实在是太多了,不容易记住,各种默认参数更是难以记住。 如果你写的是一个小程序,只是用到最基本的,只是将日志输出到终端或者文件,可以这样: #!/usr/bin/pythonimport logging#不指定文件名,就输出到终端#logging.basicConfig(le...原创 2012-01-04 16:50:46 · 54 阅读 · 0 评论 -
WSGI
WSGI的一些知识: WSGI官方: http://www.python.org/dev/peps/pep-3333/WSGI初探: http://www.oschina.net/question/12_26400WSGI(不错的技术博客): http://blog.ez2learn.com/2010/01/27/introduction-to-wsgi/...原创 2012-01-30 10:53:43 · 73 阅读 · 0 评论 -
ubuntu下搭建python开发环境
1.首先我们安装eclipse,你可以直接用apt工具安装: apt-get install eclipse 这样就连eclipse和jdk一起安装装上了。如果手头有eclipse和jdk的安装文件也可以手动安装。手动解压jdk或者jre,把它放到/usr/share下,手动解压eclipse,然后最好将eclipse放到/usr/share目录下,一般的应用软件都放到了这个目...原创 2012-01-30 17:19:21 · 75 阅读 · 0 评论 -
ZeroMQ:云计算时代最好的通讯库
转载自:http://hi.baidu.com/ah__fu/blog/item/fd73593ebb3dd6e8828b13a3.html 还在学socket编程吗?还在研究为什么epoll比select更好吗?噢,不必了!在复杂的云计算环境中,我们面临的难题远比这个复杂得多。庞大的服务器集群作为计算云,对来来看或许只是一个简单的搜索框;而在云的内部,复杂的互...原创 2012-04-26 17:06:20 · 101 阅读 · 0 评论 -
python 获得shell命令的返回值
如果只是简单地执行shell命令,可以这样: import osos.system('ls') 得到shell的输出(不管标准输出或是错误输出) import commandsresult= commands.getstatusoutput(shellcommand)output= result[1] 但是无法输入信息到shell...原创 2012-10-19 14:42:53 · 639 阅读 · 0 评论 -
python 得到当前进程的信息(cpu 内存占用等)
可以用这个函数: import commands, os, redef process_info(): pid = os.getpid() res = commands.getstatusoutput('ps aux|grep '+str(pid))[1].split('\n')[0] p = re.compile(r'\s+') ...2012-10-19 15:34:02 · 1793 阅读 · 0 评论 -
windows下安装c扩展的python模块
在windows下安装c语言写的python模块时,例如: pip install lz4 有时会报错 “Unable to find vcvarsall.bat", 这是由于安装c写的模块时,有个编译的过程,默认会查找vs2008的编译器,如果找不到就会报错,如果系统上安装有vs2008就不会报错。这时如果电脑上安装有vs2010 或者 ...2014-03-13 19:46:36 · 205 阅读 · 0 评论