
python
文章平均质量分 75
还是转转
https://github.com/howely
展开
-
tornado之多进程服务
tornado多进程开启在前文中简单介绍过tornado的基本使用。tornado默认启动的是单进程,启动方式如下:if __name__ == "__main__": application = tornado.web.Application([(r"/", MainHandler)]) # application.listen(8888) server = HTTPServer(application) server.listen(8888) tornado.原创 2020-06-09 20:40:12 · 2597 阅读 · 0 评论 -
M2Crypto安装失败问题处理
先下载swig 3.0.4版本:http://prdownloads.sourceforge.net/swing.swing-3.0.4.tar.gz解压缩后执行命令:./configure --prefix=/usr会报错,原因是需要先安装pcre.下载地址:https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.4...原创 2019-11-22 19:44:28 · 1837 阅读 · 0 评论 -
关于安装virtualenv时出现WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=No
通过virtualenv创建python虚拟环境时一直失败,提示:终端访问:curl https://bootstrap.pypa.io/get-pip.py | python提示127.0.0.1:8888拒绝访问。查看代理:env|grep -i proxy,结果如下:这是因为之前设置了代理服务,如fiddler或浏览器代理设置等。关闭代理服务:export https_pro...原创 2019-10-11 16:37:30 · 1414 阅读 · 0 评论 -
python中list的排序
list可以通过list的内置函数list.sort()或序列类型函数sorted(list)来进行排序。两者的区别是:list.sort()不会返回对象,改变原有的list顺序。sorted(list)返回一个对象,可以用作表达式,原生的list顺序不变,生成一个新的排好序的list对象。排序规则如果不写的话,就使用默认规则。否则就自定义规则函数。例如:def compare(sf1...原创 2019-09-29 22:23:11 · 445 阅读 · 0 评论 -
python中的多线程与多进程
进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。在Java中比较关注多线程,而在Python中,与多线程相比,可能更关注多进程。GIL在非python环境中,单核情况下,同时只能有一个任务执行。多核时可以支持多个线程同时执行。但是在python中,无论有多少核,同时只能执行一个线程。究其原因,这就是由于GIL的存在导致的。GIL的全称是Global Interpret...原创 2019-09-01 21:59:10 · 284 阅读 · 0 评论 -
Mongo集群
Mongodb的集群搭建方式主要有三种,主从模式,Replica set模式,sharding模式。其中副本集模式Replica set应用最为广泛,主从模式使用较少,sharding模式即分片存储,配置较为复杂。Replica Set即副本集方式主要有两个目的,一个是数据冗余做故障恢复使用,当发生硬件故障或其他原因造成的宕机时,可以使用副本进行恢复。另一个是读写分离,读请求分流到副本上,减轻...原创 2019-08-29 22:32:04 · 490 阅读 · 0 评论 -
爬虫技术 - 代理
使用爬虫的时候肯定会有频繁访问某一网站的情况,这个时候有些服务器会识别到这是非正常访问,就会把请求的IP禁掉,这个时候就需要用代理了。就好比现实生活中,我需要向A借一件东西,但是我跟A是仇人,直接向他借的话他不会借给我,这个时候我就让B帮我像A借,就说他要用,然后B借到东西之后再把东西给我用,这时,B就是我的代理了。代理选择针对不需要用户登录,cookie验证的网站,一般选择动态高匿代理。...原创 2019-08-25 20:54:21 · 267 阅读 · 0 评论 -
爬虫技术
python爬虫其实并没有什么太高深的技术,耗费精力的地方在于对网站返回结果的解析,以及对一些反爬机制的研究。下面这个例子可以爬取起点免费小说,直接看代码:# coding=utf-8import urllib2import sysfrom bs4 import BeautifulSoup# 设置编码reload(sys)sys.setdefaultencoding('utf-8...原创 2019-07-28 15:42:56 · 298 阅读 · 0 评论 -
Thrift基础
Thrift是Facebook开源的一款rpc调用框架,提供给Apache之后叫做Apache Thrift。它是一种高效的、支持多种编程语言的远程服务调用框架。本文将以python和java为例来介绍thrift的开发和使用。1 简介Thrift中有几个重要的概念,下面将依次次介绍。TransportTransport是网络读写(socket,http)的抽象,用于和其他thrift...原创 2019-06-23 22:43:51 · 565 阅读 · 0 评论 -
python操作mongo
在python中,连接并操作mongo主要使用了pymongo库。mongo连接先看一个最简单的栗子:import pymongoclient = pymongo.MongoClient(host='localhost', port=27017)db = client.mytestcollection = db.Personresult = collection.find_one...原创 2019-05-14 14:21:21 · 1887 阅读 · 0 评论 -
python的logging使用
先看一个简单的demo:# -*- coding:utf-8 -*-import loggingimport syslogging.basicConfig(stream=sys.stdout, level=logging.INFO, format='%(asctime)s %(levelno)s %(message)s', ...原创 2019-05-09 22:26:52 · 225 阅读 · 0 评论 -
关于Pycharm中unresolved reference问题的解决方案
在使用pycharm时,通过from xx import xx方式引入第三方模块(在__init__.py中暴露的模块)时出现unresolved reference提示,虽然不影响运行,但无法通过鼠标点击进入模块声明,非常郁闷。在网上找了好久,所有的解决办法都是将目录设置为source目录,然而根本没有效果(当然,碰到的这个问题也是一个特例的问题,在其他人电脑上就没有。所以这里记录下来只是为了...原创 2019-05-09 22:08:43 · 7946 阅读 · 3 评论 -
Hive连接方式
环境准备安装 hadoop,参照:https://www.jianshu.com/p/9c8a0f7b98cf安装hive,参照:https://www.jianshu.com/p/ed4c2852754c说明:本文测试环境为单机,而非集群环境。CLI连接安装好之后,可通过CLI直接连接,并进行相关操作:HiveServer2/beeline连接CLI连接时,输入hive实际上...原创 2019-04-28 21:17:16 · 1967 阅读 · 1 评论 -
关于Command "python setup.py egg_info" failed with error code问题的解决方案
通过pip安装依赖包时报错,根据错误提示搜索到的解决方案都是升级pip版本。如下所示:python -m pip install --upgrade –force pippip install --upgrade setuptools还有其他各种升级版本方案的变种,如:easy_install -U setuptools但实际上并没有解决问题。后来带上报错的包名作为关键词搜索才找到解...原创 2019-04-25 23:10:36 · 2251 阅读 · 1 评论 -
ORM框架之Sqlalchemy
从上一篇blog中了解到,对于tornado.web.RequestHandler对象,从HTTP请求中获取信息的方式是:使用get_argument来获得get或post请求的参数;写HTTP响应的方式是:使用write方法。下面将对RequestHandler进行更详细的介绍。HTTP方法Tornado支持任何合法的HTTP请求(GET、POST、PUT、DELETE、HEAD、OPT...原创 2019-04-23 22:53:21 · 255 阅读 · 0 评论 -
tornado之HelloWorld
tornado是python的一个轻量级的web框架,主要特点是非阻塞式的,处理速度快,而且是轻量级的,使用方便。HelloWorld直接看最简单的demo:import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.RequestHandler): def get(self): ...原创 2019-04-13 18:59:00 · 1021 阅读 · 0 评论