Python
文章平均质量分 55
Stephen102
这个作者很懒,什么都没留下…
展开
-
僵尸进程&孤儿进程
概念僵尸进程(Zombie Process):一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。孤儿进程(Orphan process):一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由ini原创 2015-12-28 15:53:26 · 536 阅读 · 0 评论 -
Python爬虫介绍
1. 什么是爬虫2. 爬虫的意义和价值3. 技术支持4. 爬虫的实现原创 2016-01-10 22:10:12 · 592 阅读 · 0 评论 -
OpenStack setuptools+pbr软件打包管理
1. 创建一个testpack的项目首先我们创建一个testpack的project,使用git初始化我们的代码仓库stephen@stephen-OptiPlex-390:~/openstack/demo$ mkdir testpackstephen@stephen-OptiPlex-390:~/openstack/demo$ cd testpackstephen@stephen-OptiPl原创 2016-01-11 16:49:04 · 2494 阅读 · 1 评论 -
Python 爬虫入门实例
TODO1. SpiderMain入口# spider_main.py# coding:utf8'''Created on 2016-1-9@author: Stephen Huang'''from crawler import url_manager, html_praser, html_outputer, html_downloaderclass SpiderMain(object)原创 2016-01-10 22:20:45 · 1658 阅读 · 0 评论 -
python 装饰器@staticmethod和@classmethod区别和使用
python 装饰器@staticmethod和@classmethod区别和使用原创 2016-02-24 11:17:20 · 11211 阅读 · 0 评论 -
python代码片段
Python常用代码块转载 2016-02-24 16:04:56 · 704 阅读 · 0 评论 -
Python rabbitmq
rabbitmq参考原创 2016-01-25 16:40:35 · 549 阅读 · 0 评论 -
Python libvirt
libvirt参考原创 2016-01-21 17:10:21 · 878 阅读 · 0 评论 -
Python retrying模块
retrying参考原创 2016-01-21 17:01:13 · 1677 阅读 · 0 评论 -
Python sys模块
Python sys模块记录一下我使用过的sys模块(将会不断更新)1.系统相关1.1 sys.path返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 >>> import sys>>> print sys.path['', '/opt/stack/keystone', '/opt/stack/cinder', '/opt/stack/nova', '/opt/stack/gl原创 2016-01-08 10:35:49 · 706 阅读 · 0 评论 -
Python sys.exit(n) VS os._exit(n)区别
os._exit(n)直接退出 Python 解释器,n为状态,其后的代码都不执行。比较不优雅。 * 一般来说os._exit(n) 用于在线程中退出 * 一般在fork出来的子进程中使用os._exit(0)将父进程退出sys.exit(n)sys.exit(n)退出方式比较优雅,它引发一个 SystemExit异常,没有捕获这个异常,会直接退出;捕获这个异常可以做一些额外的清理工作。参数为n原创 2015-12-28 15:24:58 · 1800 阅读 · 0 评论 -
signal(SIGCHLD, SIG_IGN)
SIGCHLD信号子进程结束时, 父进程会收到这个信号。 如果父进程没有处理这个信号,也没有等待(wait)子进程,子进程虽然终止,但是还会在内核进程表中占有表项,这时的子进程称为僵尸进程。这种情 况我们应该避免(父进程或者忽略SIGCHILD信号,或者捕捉它,或者wait它派生的子进程,或者父进程先终止,这时子进程的终止自动由init进程 来接管)。使用signal(SIGCHLD, SIG_I原创 2015-12-28 16:24:00 · 17198 阅读 · 3 评论 -
Python logging(配置实现)
定义我们的日志模块定义统一入口,读取配置文件#mylog.pyimport loggingimport logging.configdef getLogger(name='root'): CONF_LOG = "/home/stephen/openstack/demo/log/log/logging.conf" logging.config.fileConfig(CONF_LO原创 2016-01-04 10:55:41 · 2483 阅读 · 0 评论 -
Python logging(代码实现)
Python logging(代码实现)定义我们的日志模块我们可以指定我们的模块打印到相应的日志文件,统一调用我们的mylog.getLogger(name=’root’, logtype=None, filename=None) logtype是我们定义的日志类型,同一类型的日志打到同一文件中,当然这些类型都是我们可以定制的。#mylog.pyimport loggingimport log原创 2016-01-04 10:27:21 · 773 阅读 · 0 评论 -
Python装饰器@
对python的装饰器本来就一知半解的,于是今天有时间查阅了一些资料,搞清楚!python中为什么需要装饰器,及如何使用装饰器,请参考:http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html*1. ‘@’符号用作函数修饰符是python2.4新增加的功能,修饰符必须出现在函数定义前一行,不允许和函数定义在同一行。也就是说 @A def原创 2016-01-06 15:18:06 · 377 阅读 · 0 评论 -
python eventlet
Eventlet(http://eventlet.net/)是一个python的网络库,他可以通过协程的方式来实现并发。Eventlet协程又称GreenThread(绿色线程),所谓的并发,就是创建多个GreenThread,并对其进行管理,以实现非阻塞式的I/O。比如说用eventlet可以很方便的写一个性能很好的web服务器,或者是一个效率很高的网页爬虫,这都归功于eventlet的“绿色线程原创 2016-01-06 16:29:39 · 2824 阅读 · 0 评论 -
python使用eventlet(协程)启动多个daemon process(守护进程)
1.首先创建我们的守护进程先创建我们的守护进程类,通过fork()函数实现. * 关于我们为啥要使用signal.signal(signal.SIGCHLD,signal.SIG_IGN),请参考: http://blog.csdn.net/u010571844/article/details/50419798. * 第一次fork()后父进程使用的是sys.exit(0),会产生System原创 2016-01-06 17:11:10 · 2693 阅读 · 0 评论 -
Python with语句
With语句是什么?Python’s with statement provides a very convenient way of dealing with the situation where you have to do a setup and teardown to make something happen. A very good example for this is the si转载 2016-01-07 16:31:07 · 488 阅读 · 0 评论 -
python socket网络编程
python socket网络编程原创 2016-01-17 20:29:34 · 432 阅读 · 0 评论