文章 56
评论 98
浏览 271601
Mac开发系列之python多版本和环境管理(pyenv和virtualenv安装配置使用)

Mac开发系列之python多版本和环境管理(pyenv和virtualenv安装配置使用)

系统版本:Mac OS X El Capitan(10.13) 预先安装:homebrew 安装方法:运行ruby脚本: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" pyenv依赖:python 2.5+ , git pyenv安装 推荐使用pyenv-installer这个插件安装pyenv,这种方式安装会多安装几个是实用的插件,比如: pyenv-virtualenv 用于整合virtualenv pyenv-pip-rehash 用于使用pip安装包之后自动执行rehash pyenv-update 用于升级pyenv 使用python-installer方式安装:确保你的电脑可以访问Github,然后在终端运行: curl -L https://raw.githubusercontent.com/yyuu/pyenv-ins

tornado配合celery及rabbitmq实现web request异步非阻塞

tornado配合celery及rabbitmq实现web request异步非阻塞

Tornado 和 Celery 介绍 1.Tornado Tornado 是一个用 python 编写的一个强大的、可扩展的异步 HTTP 服务器,同时也是一个 Web 开发框架。tornado 是一个非阻塞式 Web 服务器,其速度相当快。得利于其非阻塞的方式和对 epoll 的运用,tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,tornado 是一个理想的 Web 框架。它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中。 进一步了解和学习 tornado 可移步:tornado官方文档 2.Celery Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,它是一个专注于实时处理的任务队列, 同时也支持任务调度。Celery 中有两个比较关键的概念: Worker: worker 是一个独立的进程,它持续监视队列中是否有需要处理的任务; Broker: broker 也被称为中间人或者协调者,br

hadoop平台wordcount程序的python实现

hadoop平台wordcount程序的python实现

摘要: ​尽管 Hadoop 框架是用 Java 写的,但是 Hadoop 程序不限于 Java,可以用 python、C++、Ruby 等。本例子中直接用 python 写一个 MapReduce 实例,而不是用 Jython 把 python 代码转化成 jar 文件。 例子的目的是统计输入文件的单词的词频。 输入:文本文件 输出:文本(每行包括单词和单词的词频,两者之间用'\t'隔开) Python MapReduce 代码 使用 python 写 MapReduce 的“诀窍”是利用 Hadoop 流的 API,通过 STDIN(标准输入)、STDOUT(标准输出)在 Map 函数和 Reduce 函数之间传递数据。 我们唯一需要做的是利用 Python 的 sys.stdin 读取输入数据,并把我们的输出传送给 sys.stdout。Hadoop 流将会帮助我们处理别的任何事情。 Map 阶段:mapper.py 在这里,我们假设把文件保存到 hadoop-0.20.2/test/code/mapper.py #!/usr/bin/env python import s....

网络爬虫详解与python实现

网络爬虫详解与python实现

网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。

python深坑之迭代器和生成器

python深坑之迭代器和生成器

本文以实例详解了python的迭代器与生成器,具体如下所示: 迭代器概述: 迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退。 迭代器的优点 对于原生支持随机访问的数据结构(如tuple、list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enumerate()找回这个索引值)。但对于无法随机访问的数据结构(比如set)而言,迭代器是唯一的访问元素的方式。 另外,迭代器的一大优点是不要求事先准备好整个迭代过程中所有的元素。迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁。这个特点使得它特别适合用于遍历一些巨大的或是无限的集合,比如几个G的文件,或是斐波那契数列等等。 迭代器更大的功劳是提供了一个统一的访问集合的接口,只要定义了__iter__()方法对象,就可以使用迭代器访问。 迭代器有两个基本的方法 next方法:返回迭代器的下一

鲜衣怒马提银枪,一日看尽长安花,此间少年。