random 使用
51CTO博客开发
#/usr/bin/env python3 # encoding: utf-8 #@author: Lejie #@software: PyCharm Community Edition #@file: learn_smtp.py #@time: 2017/6/26 16:29 import&n
import time import datetime y = datetime.datetime.now() s = datetime.datetime.strftime(y,"%Y-%m-%d") st = s + " " +&nbs
zabbix 自定义trigger版本:3.0.4测试场景:在agent上自定key,回传一个数值,这个数值每分钟增加1,当这个值大于5时warnning测试主机agent:10.0.50.1521、trigger 必须定义在templates中,所以先定义templates2、trigger依赖items,所以还得先定义Items,Items中Key是自定义的,因此先得定义Key2.1 自定义k
##异常处理 #try: # pass #except Exception as ex: Exception(捕获所有错误)可以换成任何异常类型,代表只捕获指定错误, # 可以写多个except # pass ##异常类型: # #
#过程编程----函数编程(代码复用高)--面向对象 #python 支持 函数式+面向对象 编程 # def mail(email,message): # print("sendsend") # return&nbs
##正则表达式# . 任意一个# * 零及以上# ^ 以某某开头# $ 从某某结尾import re # # s = "sdfjkslfjlkaaa1923891a" r = re.findall('^s.*a$',s) print(r)
##类成员包括: #字段:静态字段、普通字段 字段也可以理解为“变量” #方法:普通方法、静态方法、类方法;所有方法属于类 方法也可以理解为“函数” #属性:具有方法的定义形式,具有字段访问形式 用字段
需求:文本中第一列字符相等时,第二列相加 ,最后输出字符和最后的和(为了方便最后核对,都给了1)文本如下:cat test.log abc 1 aaa 1 bbb 1 ddd 1 sss 1 iii 1 abc 1 sss 1 ddd 1 ddd 1 ddd 1 ddd 
#!/usr/bin/env python2 #-*- coding:utf-8 -*- #Author : zhanglejie #Time: 2017/05/18 ''' 生成wifi数据最近7天(不含当天)回传列表:天数,MAC 判断依据:数据回传后会创建相应的文件,文件名包含mac和时间(以天为分界), 获取文件名,提取出mac
#特殊变量 #__doc__ 获取模块注释 #__file__ 当前执行文件的路径 #__cached__ 对应pyc文件的位置 #__name__ &nb
import hashlib # # #####md5#####双重加密,核对密码时也需要如此 hash = hashlib.md5(bytes('tttt', encoding='utf-8')) #tttt是第一层加密,在比较md5时也需要这么做 hash.update(bytes('test', encodin
##递归函数 #自己调用自己 def t(a): if a == 1: return 1 return a + t(a-1)
其他-->字符串,叫序列化字符串-->其他,叫反序列化有两个模块:json 可以处理python基本数据类型,字典,列表,元组,保存的文件是“明文的”pickle 可以处理python全部数据类型,专用于python,保存的文件是“加密的”jsonimport json l = '{"a":123,"b":234}' ll =&
#定义装饰器,outer参数是函数,返回也是函数 #作用:在函数执行前和执行后分别附加额外功能 def outer(func): def inner(*args, **kwargs): print("l
只要函数中存在yield,该函数就是生成器def g(): #定义生成器 yield 1 #1可以是函数 yield 2 yield 3  
1、反射 用于方法调用 利用字符串的形式去对象中操作成员(增/删/查),注意仅是在内存中操作 #hasattr(模块,'字符串'): 判断有没有 ,模块中有没有“字符串”为名字的成员; 返还True或者False #getattr(模块,'字符串'): 获取方法,从模块中获取“字符串”为名字的成员#s3.pyp1(): &
filter 参数中函数返回True或者False,将元素返回到结果li = [1,2,3,4,5,6]f = lambda a: a>3 原理:简单函数用lambda;a相当于参数,"a>3"是函数体,有返回值filter(函数A,可迭代序列B) 原理:把B的值逐个给A,过滤机制在函数A中,返回True时输出当前B的值
静态参数:def 函数名(参数1,参数2=默认值):"""注释文档""" print("测试") return "abc"说明:参数可以有多个,并可以指定默认值;一定要写注释文档动态参数:def 函数名(*args): ##接
关键字set是集合,数据特点是:无序,去重#创建se = {"sdfs","ljk"} ;大括号中不是键值对se = set((1,2,3,4,8))se = set() ;空集合#操作se.add #单个添加 &nbs
%[(name)][flags][width].[precision]typecode● (name) 可选,用于选择指定的key● flags 可选,可供选择的值
python是靠“缩进”来识别代码断的,同一代码断“必须缩进方式相同”,但是最好全部代码,缩进统一,官方建议“四个空格”,当然敲tab键很方便,但是绝大多数python开发者都用“四个空格”,随大流还是很必要的,否则复制别人代码时,那可就惨了。错误for循环:test = [1,2,3,4,5]for i in test:空格空格空格空格 print(i)一个tab print(i)以上是会报错的
s='this is test message's.capitalize() 首字母大写,其它小写 s.find(sub[, start[, end]])
字典:简单字典:dic = {1:'a',2:'b',3:'c'}嵌套字典:字典中可包含元组、列表、字典dic = {1:'a',2:'b',3:'c',4:{1:'a',2:'b',3:'c'},5:[1,2,3],6:(5,6)}dic.clear() 清空 dic.fromkeys(iterable, value=None, /) 不明
元组的值不能改变,有两个方法:T.count(value) 返回值是出现value的个数T.index(value, [start, [stop]]) 返回值是出现value的第一个index打印:for i in T: print(i)
列表:L.append(object) 追加备注:append将obj作为一个整体追加,无论obj是字符串、数字、字典、列表等,当是字典时全部插入,跟L.extend(iterable) 不同test = [1,2,3,4,5]test1 = [6,7,8,9]test.append(test1) : [1, 2, 3, 4, [6, 7, 8, 9]]test.appen
运维就像升级打怪,需要不断变强,才能与时俱进。给自己合理的定位才能明确目标,不断向前。我把运维分成入门--中级--高级,这级别的界定有两方面:1、运维知识:DNS、http、zabbix等等的配置和使用,熟练程度和广度,影响着级别2、开发能力:shell是必须会的,其次要会一门高级脚本语言:python、perl等入门级:经验少,shell开发弱中级:经验多,shell开发强高级:python开发
cobbler 2.6 中文文档 个人翻译,请参考
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号