运维平台架构设计及开发

开发环境: Python 3.x GoLang Django 2.x Bootstrap 3.0 JQuery1.8 架构: 模块介绍: Agent:使用GoLang开发,主要收集主机信息、执行下发任务、主机状态上报、服务检测等 Master:使用GoLang开发,接收Agent上报的信息,存储到MySQL Dashboard:使用Python Django开发,前台展示及管理。前端使用Boots......
Python,GoLang 2024年12月16日 09:44:41

Python str与repr的区别

在Python中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str() 或 repr() 。 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError 异常), 适合开发和调试阶段使用。 也就是说 repr() 输出对 Python比较友好,而str()的输出对用户比较友好。虽然如此,很多情况下这......
Python 2019年04月29日 10:36:44

Python 反射

什么是反射? 通过类名获得类的实例对象 通过方法名得到方法,实现调用 通过字符串映射object对象的方法或者属性 反射方法 vim a.py class A: def __init__(self): self.name = zk def getName(self): return self.name 反射方法一: from a import A obj = globals()[ A ]() pr......
Python 2019年04月28日 16:43:21

Python 类组合和聚合

聚合(aggregation): 是整体与部分的关系。 通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。需求描述中“包含”、“组成”、“分为…部分”等词常意味着聚合关系。 #! /usr/bin/env python # -*- coding:utf8 -*- 聚合关系 class A(object): def __init__(se......
Python 2019年04月28日 16:15:47

Python 通过字符串调用函数

eval() def func(): print func name eval( func )() # func name eval() 函数通常用来执行一个字符串表达式,并返回表达式的值。在这里它将字符串转换成对应的函数。eval() 功能强大但是比较危险(eval is evil),不建议使用。 locals()和globals() def func(): print func name gl......
Python 2019年04月28日 15:56:04

Python Queue模块

Queue.Queue类是一个队列的同步实现。 队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。 import Queue queue = Queue.Queue(maxsize = 10) # 创建队列 将一个值放入队列中 queue.put(20) 调用队列对象的put()方法在队尾插入一个项目。 put(......
Python 2019年04月28日 15:33:43

Python 内置函数 filter、map、reduce、lambda使用

filter(function, sequence) lst = [ 1 , 2 , 3 , 4 ] def func(x): return x if x != 1 else None ret = filter(func, lst) print ret # [ 2 , 3 , 4 ] 对sequence中的item依次执行function(item),将执行结果为True的item组成一个List......
Python 2019年04月28日 15:19:03

简单介绍Python的数据持久化存储

Python的数据持久化操作主要有四种: 普通文件 DBM文件 Pickled对象存储 shelve对象存储 普通文件不解释了 DBM就是把字符串的键值对存储在文件里: import anydbm file = anydbm.open( movie , c ) # make a DBM file called movie file[ Batman ] = Pow! # store a string......
Python 2019年04月19日 15:38:35

【记录】Python开发中的一些技巧

记录些自己日常写Python的一些小技巧,算不上高级但代码看起来 Pythonic 一点。 列表推导式 [ i for i in range(10) ] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 字典推导式(Python2.x不支持) { i:i*i for i in range(10)} {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36......
Python 2019年03月11日 16:41:08

django-rest-swagger 可视化管理restful api

什么是django-rest-swagger? 用于Django REST框架的OpenAPI文档生成器,结合django-rest-framework可视化管理api。 环境需求 Python 2.7.15 Django 1.11.17 Django-rest-framework 3.9.0 Django-rest-swagger 2.2.0 安装 pip install django==1.1......
Django 2018年12月27日 14:43:45

Python装饰器详解

什么是装饰器? 在定义了许多的函数之后,我们想扩展这些函数的功能,如在函数执行前打印日志,但如果是一些通用的功能,修改每一个函数会显得不优雅且麻烦,那么如何在不修改当前函数调用又能扩展函数哪?答案就是定义一个装饰器,给每个函数增加功能,这种在代码运行时动态增加函数功能的方式就是装饰器(Decorator)。 简单的说装饰器是可以在不改变某个函数内部实现和原来调用方式的前提下对该函数增加一些附件的功......
Python 2018年10月09日 16:06:51