python
文章平均质量分 88
mojolang
精品驿站
展开
-
python使用memcached
python使用memcached转载:http://oursimplehouse.blog.sohu.com/63588732.html网上对memcached的讨论好火呀!总结一下安装 memcached:1、下载memcached-1.2.2.tar.gz2、tar xvzf memcached-1.2.2.tar.gz转载 2016-02-27 23:03:42 · 1283 阅读 · 0 评论 -
使用 Python 进行稳定可靠的文件操作
程序需要更新文件。虽然大部分程序员知道在执行I/O的时候会发生不可预期的事情,但是我经常看到一些异常幼稚的代码。在本文中,我想要分享一些如何在Python代码中改善I/O可靠性的见解。考虑下述Python代码片段。对文件中的数据进行某些操作,然后将结果保存回文件中:with open(filename) as f: input = f.read()output =转载 2017-01-03 16:31:57 · 519 阅读 · 0 评论 -
简述uwsgi使用一个服务启动多个文件的用法
【场景篇】 为了节省端口的占用,将N个flask应用服务——每个对应一个文件(web.py、django也一样)合并为一个端口服务来启用 【寻思篇】 通常的做法:每个文件配置一个xml 或者 ini文件,然后依次启动uwsgi(uwsgi -x {xml文件名}),形如:uwsgi> wsgi-file>/home/yxgly/code/d转载 2016-12-23 14:37:49 · 2489 阅读 · 0 评论 -
高性能框架gevent和gunicorn在web上的应用及性能测试
WSGI Server有哪些:比如 Flask,webpy,Django、CherryPy 都带着 WSGI server 。当然性能都不好,自带的web server 更多的是测试用途, 线上发布时,则使用高性能的 wsgi server或者是联合nginx做uwsgi 。诚如那个WSGI的定义所说的,协议定义了一套接口来实现服务器端与应用端通信的规范化(或者转载 2017-01-04 10:52:42 · 4422 阅读 · 0 评论 -
Python读取大文件(GB)
最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法。Preliminary 我们谈到“文本处理”时,我们通常是指处理的内容。Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: .read转载 2017-01-04 12:25:12 · 19536 阅读 · 0 评论 -
关于python文件操作
总是记不住API。昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧:python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:转载 2017-01-04 13:34:47 · 543 阅读 · 0 评论 -
python调度框架APScheduler使用详解
1 # coding=utf-8 2 """ 3 Demonstrates how to use the background scheduler to schedule a job that executes on 3 second 4 intervals. 5 """ 6 7 from datetime import datetime 8 import time 9 impo转载 2017-01-05 12:05:52 · 1318 阅读 · 0 评论 -
python的schedule 模块用法示例
#! /usr/bin/env python #coding=utf-8 import time, os, sched # 第一个参数确定任务的时间,返回从某个特定的时间到现在经历的秒数 # 第二个参数以某种人为的方式衡量时间 schedule = sched.scheduler(time.time, time.sleep)转载 2017-01-05 12:07:15 · 6529 阅读 · 1 评论 -
centos 7上nginx+uwsgi 性能调优
上一章将nginx +uwsgi搭建起来,将keystone挂载后面。但是发现一个问题,如果http请求达到一定量后,nginx直接返回502。这让需要部署大规模OpenStack集群的我很是头疼,比较了一下请求的处理能力,keystone 原生的api 接口是可以承受一定量的大规模并发请求的。这就让我思考一个问题,为什么nginx作为web,性能却没有keystone api 自身的承载能力转载 2017-02-06 16:58:42 · 849 阅读 · 0 评论 -
由min(enumerate(seq),key= s:s[1]) 表达式引起的思考
由min(enumerate(seq),key= s:s[1]) 表达式引起的思考:lambda:lambda 输入:输出ython用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错result = lambda x: x * xresult(2) # return 4map()/filter()/reduce()需要原创 2017-01-03 01:23:11 · 1673 阅读 · 0 评论 -
shell 管理 uwsgi 进行重启 防止多个进行 导致服务器挂掉
django 执行 uwsgi进行自动删除进程id并进行重启 防止多个进行 导致服务器挂掉最近使用django+uwsgi+虚拟机(ubuntu),每次进行uwsgi重启的时候都会增加一个进程的,导致自己的mysql无意间挂掉了,莫名其妙,结果才发现,有大量的uwsgi的进程,但是每次启动的时候都去删除,手动肯定很麻烦,于是自己就google后,写了一个自己的脚本。脚本如下,仅供转载 2016-12-14 15:08:41 · 3794 阅读 · 0 评论 -
SQLAlchemy 几种查询方式总结
几种常见sqlalchemy查询:#简单查询 print(session.query(User).all())print(session.query(User.name, User.fullname).all()) print(session.query(User, User.name).all()) #带条件查询 print(sessi转载 2016-06-02 16:40:25 · 34162 阅读 · 0 评论 -
Python 资源大全中文版
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由伯乐在线持续更新。Awesome 系列虽然挺全,但基本只对收录的资源做了极为简转载 2016-12-10 11:47:44 · 2058 阅读 · 0 评论 -
[gevent源码分析] gevent两架马车-libev和greenlet
本篇将讨论gevent的两架马车-libev和greenlet如何协同工作的。gevent事件驱动底层使用了libev,我们先看看如何单独使用gevent中的事件循环。[python] view plain copy #coding=utf8 import socket import gevent from geve转载 2016-12-10 12:05:15 · 1073 阅读 · 0 评论 -
Python之美[从菜鸟到高手]--NotImplemented小析
今天写代码时无意碰到NotImplemented,我一愣,难道是NotImplementedError的胞弟,所以稍微研究了一下。NotImplemented故名思议,就是“未实现”,一般是用在一些比较算法中的,如class的__eq__,__lt__等,注意NotImplemented并不是异常,所以不能使用raise,当没有实现时应该是return NotImplement转载 2016-12-10 12:11:24 · 2924 阅读 · 0 评论 -
C语言开发Linux下web服务器(支持GET/POST,SSL,目录显示等)
这个主要是在CSAPP基础上做的,添加了POST,SSL,目录显示等功能。一、实现功能:1.支持GET/POST方法2.支持SSL安全连接即HTTPS3.支持CGI4.基于IP地址和掩码的认证5.目录显示6.日志功能7. 错误提示页面github地址:https://github.com/Skycrab/Lin转载 2016-12-10 12:56:49 · 606 阅读 · 0 评论 -
玩转Python让人讨厌的编码问题
Python的编码问题基本是每个新手都会遇到的坎,但只要完全掌握了就跳过了这个坑,万变不离其中,这不最近我也遇到了这个问题,来一起看看吧。事情的起因是review同事做的一个上传功能,看下面一段代码,self.fp是上传的文件句柄fpdata = [line.strip().decode('gbk').encode('utf-8').decode('utf-8') for line转载 2016-12-10 13:24:48 · 1863 阅读 · 0 评论 -
使用Python+jieba和java+庖丁分词在Spark集群上进行中文分词统计
写在前边的话: 本篇博客也是在做豆瓣电影数据的分析过程中,需要对影评信息和剧情摘要信息进行分析而写的一篇博客 以前学习Hadoop时,感觉做中文分词也没那么麻烦,但是到了Spark,却碰到了诸多困难,但幸好最终都解决了这些问题,而得到了正确的结果,这里我们不解释具体的spark语法之类的,着重于解决中文分词统计这个问题 同步gith转载 2016-11-15 19:14:44 · 1653 阅读 · 0 评论 -
python 使用sqlalchemy,mysqldb模块通过ssh隧道连接mysql
出于安全考虑,数据库服务器只允许堡垒机通过ssh访问,这对日常的使用带来了麻烦。昨天的工作中,就遇到了这样的问题,MySQL数据库放在了服务器A上,只允许服务器B来访问,而我在机器C上,可以通过ssh连接服务器B。为了解决在机器C上连接mysql这个问题,用百度搜索解决方法,遗憾的是,找不到什么靠谱的,最后,还是翻墙用了google,终于找到了一种简单可靠的方法。把google赶出中国,让中国的I原创 2016-11-22 10:37:13 · 4815 阅读 · 0 评论 -
在shell下批量管理redis数据
redis下key的批量管理,熟悉后管理redis得心应手!原创 2016-02-02 14:48:51 · 6079 阅读 · 0 评论 -
python设计模式之享元模式
享元模式Flyweight模式,顾名思义,就是共享元数据,在Python这个动态语言中可以提高程序性能和效率,比如从一个文件读取很多的字符串,而这些字符串必定重复,所以可以使用这个模式将其存在一个pool中python的例子(我将提出一系列的例子不同方式实现这个功能) 普通青年版,看了Gof,可能就会有这样基础的一段代码:class Spam(object): de转载 2017-01-01 13:31:25 · 481 阅读 · 1 评论 -
python设计模式之Builder模式
Builder模式Builder模式帮你把一个不同类的大工程分开成不同的部分,最后在把这些合并起来python的例子制造一辆车的工序是很繁琐和浩大的,我们可以定一个车辆的描述class Vehicle(object): def __init__(self, type_name): self.type = type_name self.whe转载 2017-01-01 13:32:52 · 3052 阅读 · 0 评论 -
Python面向对象编程进阶
面向对象高级语法部分经典类vs新式类 静态方法、类方法、属性方法类的特殊方法反射异常处理Socket开发基础作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分经典类vs新式类把下面代码用python2 和python3都执行一下12345678转载 2017-01-01 13:41:30 · 785 阅读 · 0 评论 -
为什么心跳包(HeartBeat)是必须的?
几乎所有的网游服务端都有心跳包(HeartBeat或Ping)的设计,在最近开发手游服务端时,也用到了心跳包。思考思考,心跳包是必须的吗?为什么需要心跳包?TCP没有提供断线检测的方法吗?TCP提供的KeepAlive机制可以替代HeartBeat吗?由于连接丢失时,TCP不会立即通知应用程序。比如说,客户端程序断线了,服务端的TCP连接不会检测到断线,而是一直处于连接状态。这就带来了很大转载 2017-07-25 13:42:03 · 6381 阅读 · 0 评论 -
Python模块学习:threading 多线程控制和处理
今天来学习Python中另一个操作线程的模块:threading。threading通过对thread模块进行二次封装,提供了更方便的API来操作线程。今天内容比较多,闲话少说,现在就开始切入正题!threading.ThreadThread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一转载 2017-08-25 20:28:25 · 537 阅读 · 0 评论 -
Python struct模块-深入学习
Python struct模块Python struct模块用处struct模块中的函数格式化字符串对齐方式格式符code使用示例Python参考手册struct模块链接转载请标明出处(http://blog.csdn.net/lis_12/article/details/52777983).用处按照指定格式将转载 2017-09-29 13:52:53 · 5038 阅读 · 0 评论 -
linux系统下用pyenv安装python
1 安装pyenv (1) 选择安装到$HOME/.pyenv目录(但你可以在某处安装其他)。 [python] view plain copy git clone https://github.com/yyuu/pyenv.git ~/.pyenv (2)配置环境变量[python] vie转载 2017-10-17 19:09:50 · 827 阅读 · 0 评论 -
python中的闭包
1 快速预览以下是一段简单的闭包代码示例:def foo(): m=3 n=5 def bar(): a=4 return m+n+a return bar>>>bar = foo()>>>bar()12说明:bar在foo函数的代码块中定义。我们称bar是foo的内部函数。在bar的局部作用域转载 2017-11-25 02:26:00 · 365 阅读 · 0 评论 -
【Python】python文件名和文件路径操作
Readme:在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍“获得当前路径”“获得当前路径下的所有文件和文件夹,”删除文件“,“删除目录/多个目录”,“检查文件/文件路径”,“检查文件路径是否存在”,“分离文件路径及文件名”,“分离文件扩展名“,”得到文件名”和得到”文件路径“。 1 impo转载 2018-02-05 16:34:50 · 7619 阅读 · 0 评论 -
Python WSGI 介绍
一、写在前面 这篇文章主要介绍一下Python WSGI, 学习python wsgi规范的时候读到了几篇介绍的很好的入门教程,内容不长,整理了一下。由于能力和时间有限,错误之处在所难免,欢迎指正! 如果转载,请保留作者信息。 邮箱地址:jpzhang.ht@gmail.com二、WSGI 介绍Py转载 2017-05-18 11:25:48 · 973 阅读 · 0 评论 -
Python模块学习:threading 多线程控制和处理
今天来学习Python中另一个操作线程的模块:threading。threading通过对thread模块进行二次封装,提供了更方便的API来操作线程。今天内容比较多,闲话少说,现在就开始切入正题!threading.ThreadThread 是threading模块中最重要的类之一,可以使用它来创建线程。有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法;另一转载 2017-05-18 10:52:44 · 608 阅读 · 0 评论 -
Python join()函数
今天写python 100例时,有个题目是大致是这样的:已知输入形式是1+3+2+1,要求输出形式为1+1+2+3一开始思路是将输入的字符串用split()函数划分成数组,在对数组进行排序,再用for循环输出代码附上:a = map(int,raw_input().split('+'))a = sorted(a)for i in a:if(i != len(a)转载 2017-01-12 20:40:17 · 1624 阅读 · 0 评论 -
Hue安装配置实践
Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用转载 2017-02-08 17:25:08 · 798 阅读 · 0 评论 -
Python设计模式之单例模式实例
一个简单实现复制代码代码如下:class Foo(object): __instance = None def __init__(self): pass @classmethod def getinstance(cls): if(cls.__instance == None):转载 2017-02-14 19:45:24 · 649 阅读 · 0 评论 -
python大话设计模式
上一周把《大话设计模式》看完了,对面向对象技术有了新的理解,对于一个在C下写代码比较多、偶尔会用到一些脚本语言写脚本的人来说,很是开阔眼界。《大话设计模式》的代码使用C#写成的,而在本人接触到的面向对象语言中,只对C++和Python还算了解,为了加深对各个模式的理解,我在网上下载了一个C++版的源代码,并根据自己的理解边读这本书边动手实践C++源代码,同时将其改写成了Python代码,算是一箭三转载 2017-03-06 10:12:39 · 511 阅读 · 1 评论 -
python—命名规范
文件名全小写,可使用下划线包应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。模块与包的规范同。如mymodule。类总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。 函数&方法函数名应该为小写,可以用下划线风格单词以增加可读性。如:myfunction,m转载 2017-04-28 14:27:28 · 6553 阅读 · 0 评论 -
Python 多进程 multiprocessing.Pool类详解
multiprocessing模块multiprocessing包是Python中的多进程管理包。它与 threading.Thread类似,可以利用multiprocessing.Process对象来创建一个进程。该进程可以允许放在Python程序内部编写的函数中。该Process对象与Thread对象的用法相同,拥有is_alive()、join([timeout])、run()、st转载 2017-05-04 10:25:17 · 3265 阅读 · 0 评论 -
深入理解uwsgi和gunicorn网络模型
前言: 去年10月份建了一个python技术群,到现在为止人数已经涨到700人了。最一开始我经常在群里回应大家的问题,不管是简单还是困难的,我都会根据自己的经验来交流。 让人新奇的是一些初学者关注最多的话题不是怎么学好python,反而是高并发,高性能这类高大上的话题。 记得有次几个不懂网络io、io多路复用含义网友,居然在群里吵了有半个小时,说出来的理论实转载 2017-05-04 17:26:42 · 17236 阅读 · 2 评论 -
深入flask之异步非堵塞实现
官方其实已经给出了方案,只不过藏的有点深,在加上网上有很多不太靠谱的帖子误导了我(当然不排除我没理解的原因哈)。所以为了让有些朋友的少走点弯路,也为给自己做个备忘。完整代码:https://github.com/wskssau/my_notespace的 Python/todo_app解决方案: flask+gevent安装geventpip install geven转载 2017-05-04 17:37:43 · 2883 阅读 · 0 评论 -
使用 Python 和 Flask 设计 RESTful API
使用 Python 和 Flask 设计 RESTful API近些年来 REST (REpresentational State Transfer) 已经变成了 web services 和 web APIs 的标配。在本文中我将向你展示如何简单地使用 Python 和 Flask 框架来创建一个 RESTful 的 web service。什么是 REST?六条转载 2017-05-04 17:58:52 · 1245 阅读 · 0 评论