python微服务框架nameko简单使用教程

nameko是python语言的一个微服务框架,支持通过rabbitmq消息队列传递的rpc调用,也支持http调用nameko采用RabbitMQ作为注册中心,所以使用nameko必须要先安装RabbitMQ我们先用容器来安装RabbitMQ,首先拉取rabbitmq镜像docker pull rabbitmq:management启动rabbitmq容器docker run -d --hostname my-rabbit --name rabbit -p&nbs...

阅读全文

python中argparse用法介绍

argparse模块是python的内置模块,不需要单独安装,主要用于执行脚本的时候增加参数,使整个脚本看起来更加规范,参数更加整洁有序我们先来看看argparse常见的方法和应用首先创建一个解析对象,description就是这个命令操作的整体描述parser = argparse.ArgumentParser(description = "help !")add_argument方法就是往对象中添加你需要的参数,我这里是-n,help是这个参数的描述parser.add_argum...

阅读全文

python获取harbor镜像列表的方法

harbor是基于Bearer的认证,我们只需要两步即可获取harbor的镜像列表首先获取token#!/usr/bin/python33#coding:utf-8import requestsimport jsonr = requests.get("http://192.168.31.180/service/token?account=admin&service=harbor-registry&scope=registry:catalog:*",&nbs...

阅读全文

使用Dockerfile构建flask镜像

之前对dockerfile进行了一些构建参数的学习,今天自己构建了一个常用的flask镜像,我个人认为使用dockerfile构建是为了自定义以及定制化的一些环境需求而使用的,例如自己写的python程序需要预装一些模块,开机启动我写的脚本或者制定位置启动程序等等,然而直接拉取docker仓库的镜像满足不了我的需求,从而需要dockerfile来构建,下面是我构建的flask镜像,很简单,只是简单的初步学习,后面有项目了再分享一些项目上构建的复杂镜像/data/app目录下主要有三个文件Dockerfile,requirements.txt,app.py...

阅读全文

python下pexpect模块使用方法

Expect程序主要用于人机对话的模拟,就是那种系统提问,人来回答yes/no,或者账号登录输入用户名和密码等等的情况。因为这种情况特别多而且繁琐,所以很多语言都有各种自己的实现。最初的第一个Expect是由TCL语言实现的,所以后来的Expect都大致参考了最初的用法和流程,整体来说大致的流程包括:运行程序程序要求人的判断和输入Expect通过关键字匹配根据关键字向程序发送符合的字符串pexpect是Python语言的类Expect实现。从我的角度来看,它在功能上与TCL语言的实现还是有一些差距,比如没有buffer_...

阅读全文

python修改excel的方法

之前有写过python读取excel和写入excel的方法,可以查看我之前的笔记xlwt模块操作excelhttps://sulao.cn/post/607.htmlxlrd模块读取excelhttps://sulao.cn/post/606.html这里再把修改excel的方法再做一遍笔记需要先pip安装xlutils模块pipinstall xlutils然后具体代码是这样的#!/usr/bin/python3#coding:utf-8from xlutils.copy import copy...

阅读全文

python使用pykafka操作kafka

Kafka是一种分布式的、分区的、多副本的基于发布/订阅的消息系统。它是通过zookeeper进行协调,常见可以用于web/nginx日志、访问日志、消息服务等。主要应用场景为:日志收集系统和消息系统。Kafka的主要设计目标如下:1.以时间复杂度为O(1)的方式提供持久化能力,即使对TB级别以上的数据也能保证常数时间的访问性能。2.高吞吐率,即使在十分廉价的机器上也能实现单机支持每秒100K条消息的传输。3.支持KafkaServer(即Kafka集群的服务器)间的消息分区,及分布式消费,同时保证每个parti...

阅读全文

python-daemon实现后台守护进程

我们可以使用很多种方式让python脚本再后台运行,其中最简单的方式是使用linux下的nohup命令1.nohup命令nohup python test.py &这样test.py脚本就脱离了当前终端的控制,我们如果可以使用ps命令查找进程并关闭2.tmux终端tmux是一个提供后台终端窗口的会话服务,我们只需要开启tmux,然后再tmux窗口中运行脚本,然后退出tmux即可3.python-daemon模块这个模块可以使我们的脚本变为后台守护进程,这个模块需要安装pip install pyt...

阅读全文

python3按时间生成日志

之前写过一个“Flask配置logger模块日志生成到日期生成的文件”这个笔记,这里其实和那个差不多,可以看我之前的笔记https://sulao.cn/post/660.html主要还是使用logging模块,主要是一下方法import loggingimport timeimport os#创建loggerlogger = logging.getLogger()#定义日志目录和名字log_dir_name = "logs"log_...

阅读全文

python3获取系统当前进程和进程名的方法

每个程序都是一个进程或者多个进程,除去系统占用资源其他都被这些进程占用,比如我们的web服务,数据库等;很多情况下因为程序自身问题,会导致CPU运行100%,内存耗尽,磁盘写满,最后导致服务崩溃,我们可以通过psutil下面2个方法获取进程相关信息,还是使用之前学习过的psutil模块,之前的笔记可以通过https://sulao.cn/post/4.html查看,下面我们来看今天要学习的主要方法方法说明psutil.pids()获取进程ID(每个进程都有唯一ID)psutil.Process(pid)根据进程ID获取进程Process对象我们直接来看下...

阅读全文