Python
文章平均质量分 86
haozlee
多年linux开发经验,熟悉c++,python。个人主页:https://leehao.me
展开
-
Kafka 生产者和消费者学习笔记
最近搭建 kafka 集群环境以便于收集应用程序日志并进行个性化的处理,因此学习了 kafka 生产者和消费者 python 程序的实现。这篇文章当是个 kafka 的学习笔记。一、搭建 kafka 集群为方便测试,我们在 MacOS 单机上搭建具有三个 kafka 节点的集群。如果在生产上部署 kafka ,请在不同的物理机上部署 kafka 集群。1. 下载 kafka 镜像我们使用 wurstmeister/kafka 镜像来部署 kafka,由于 kafka 依赖于 zookeeper ,因原创 2020-07-04 21:07:20 · 876 阅读 · 0 评论 -
Windows下安装Django
Django是当前一款非常流行的开源web框架,它基于MVC模式,强调快速开发,拥有许多功能强大的第三方插件,开发者通过利用这些插件可以快速方便地开发自己的网站。本文讲述如何在Windows系统下面安装Django。安装Python作为Python的一个web框架,在安装django前需要先安装Python,但是不同版本的django对于Python版本的要求不一样,具体可以参考以下表格。 Dj原创 2015-07-29 07:38:47 · 27755 阅读 · 4 评论 -
如何理解Nginx, WSGI, Flask之间的关系
概览图:web服务器,web框架与WSGI的三层关系客户端从发送一个请求到Flask处理请求,分别经过了web服务器(例如Nginx,Apache等)层,WSGI层,Flask层。下面简要介绍各层的作用。Web框架层我们以Flask框架为例子,展示web框架的作用:from flask import Flaskapp = Flask(__name__)@app.route('/')def hel原创 2016-08-24 21:12:25 · 37538 阅读 · 15 评论 -
使用virtualenv, uwsgi, nginx来布署flask
本文讲述了如何使用virtualenv, uwsgi, nginx来布署flask的步骤。升级软件包执行以下命令,保证你的vps安装了最新的软件包。 sudo apt-get update sudo apt-get upgrade安装python和virtualenv sudo apt-get install build-essential python-dev python-pip原创 2015-08-18 10:10:59 · 9485 阅读 · 3 评论 -
Python 实现 Shell 脚本功能
最近生产环境上发现有服务器进程出现任务堆积的情况,由于一时无法定位出原因,故对堆积的任务数量进行监控。由于进程日志中已有任务数量的输出,故只需要编写一个脚本读取日志中的任务数量,发现任务数量超过某个阈值就发送告警短信即可。 本想使用 Shell 脚本来实现,没想到 Shell 的语法实在不好掌握,赋值语法,数值比较语法,字符串与数字的转换,等等,这些语法的问题经过了多次 google 和百度后,...原创 2018-05-15 14:08:29 · 10629 阅读 · 0 评论 -
Python 实例方法、类方法和静态方法
在 Python 中,实例方法(instance method),类方法(class method)与静态方法(static method)经常容易混淆。本文通过代码例子来说明它们的区别。实例方法Python 的实例方法用得最多,也最常见。我们先来看 Python 的实例方法。class Kls(object): def __init__(self, data): ...原创 2018-03-30 20:17:19 · 84908 阅读 · 23 评论 -
Python 装饰器浅析
Python 装饰器是 Python 中常常使用到的一种语法糖,它可以大幅度减少重复代码,使用起来十分方便。另一方面,装饰器的定义往往会导致出现函数重重嵌套的情况,这会给装饰器的实现者带来阅读代码的困难。本文剖析 Python 装饰器的定义与用法。不带参数的装饰器我们先来看一下不带参数的装饰器的实现,这种情况比较简单。以下是一个不带参数的装饰器的使用例子:@decorato...原创 2018-02-20 09:35:42 · 942 阅读 · 0 评论 -
Python 名称空间与作用域
这篇文章介绍 Python 的名称空间以及变量的作用域。Python 的名称Python 的名称(Name)是对象的一个标识(Identifier)。我们知道,在 Python 里面一切皆对象,名称就是用来引用对象的。说得有点玄乎,我们以例子说明。例如,在a = 2这个语句中,2是个存储在内存中的一个对象,名称a则会引用2这个对象,“引用”的含义是指可以通过名称a来使用2这个对象。原创 2018-01-20 08:51:46 · 3172 阅读 · 1 评论 -
Python 和 Java 进行 DES 加密和解密
DES 为 Data Encryption Standard (数据加密标准)的缩写,是一种常见的对称加密算法。有关对称加密与非对称加密的特点及其应用场景,本文就不描述了,读者可以自行 google 。本文说明如何使用 Java 和 Python 两种语言来实现 DES 的加解密。最近碰到的应用场景是这样的。我们需要对接一个系统 S,系统 S 已经对用户的身份进行了验证,新系统 N 也需要对用户的身原创 2017-11-17 09:22:45 · 10470 阅读 · 2 评论 -
Python 使用 ElementTree 模块来处理 XML
最近使用 Python 来发送 SOAP 请求以测试 Web Service 的性能,由于 SOAP 是基于 XML 的,故免不了需要使用 Python 来处理 XML 数据。在对比了几种方案后,最后选定使用 xml.etree.ElementTree 模块来实现。 这篇文章记录了使用 xml.etree.ElementTree 模块常用的几个操作,也算是总结一下,免得以后忘记了。概述对比其他 P原创 2017-06-06 23:33:17 · 19924 阅读 · 1 评论 -
Virtualenv
一、简介Virtualenv是一个用来创建隔离的python虚拟环境的工具。 我们知道,不同的Python程序可能依赖同一个python包的不同版本。这时,我们不能简单地全局安装或者全局升级这个包,因为这样做会导致所有依赖这个包的Python程序都受到影响。另外,由于权限等原因,我们可能不能直接在全局的site-packages目录安装python包,这时virtualenv也能派上用场。 Vi原创 2015-12-23 11:35:26 · 2338 阅读 · 0 评论 -
Python Requests库简明使用教程
Requests是一常用的http请求库,它使用python语言编写,可以方便地发送http请求,以及方便地处理响应结果。一、安装1.1 使用PIP进行安装要安装requests,最方便快捷发方法的使用pip进行安装。 pip install requests如果还没有安装pip,这个链接 Properly Installing Python 详细介绍了在各种平台下如何安装python以及s原创 2016-07-08 00:26:13 · 62692 阅读 · 2 评论 -
如何使用C/C++为Python编写DLL/SO
开门见山,直接阐述步骤。1. 新建一个源码文件,里面包含了返回两个整数的和的函数如果使用C语言,新建test.c文件,并输入以下内容:// test.c__declspec(dllexport) int sum(int a, int b) { return a + b;}如果使用C++语言,新建test.cpp文件,并输入以下内容:// test.cpp#define DLLEXP原创 2015-06-24 15:18:45 · 7306 阅读 · 1 评论 -
VS2005编译Python源代码
一、下载Python源代码https://www.python.org/downloads/source/下载2.5.6版本的Python源代码压缩包,然后解压,得到以下Python的源代码文件夹二、其中的PC,PCbuild,PCbuild8分别提供了VC++6.0,VS2003,VS2005的编译文件。我们使用visual studio 2005编译目录PCbuil原创 2015-05-27 10:12:19 · 3667 阅读 · 3 评论