运维的我要学开发--Python(3)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示。

#-*- coding: utf-8 -*-
‘‘‘
    检查一个文本是字符串还是二进制
    思想:如果字符串中包含了空值或者其中含有超过30%的字符
    的高位被置1或是奇怪的控制码,我们就人为这段数据是二进制数据
‘‘‘
from __future__ import division
import string
#所有文本字符的集合
text_characters = "".join(map(chr,range(32,127))) + "\n\r\t\b"
#空映射表
__null_trans = string.maketrans("","")
def istext(s,text_characters=text_characters,threshold=0.30):
    #s包含空值就不是文本
    if "\0" in s:
        return False
    #一个空的字符串是文本
    if not s:
        return True
    #去除文本字符,查看文本字符和非文本字符的比例是否超过阀值
    t = s.translate(__null_trans,text_characters)
    return len(t)/len(s) <= threshold
‘‘‘
        大小写控制
        upper()
        lower()
        capitalize() 首字符大写
        title() 每一个单词的首字符大写
        isupper()
        islower()
        istitle()
‘‘‘
#iscapitalize的实现
import string
notrans = string.maketrans(‘‘,‘‘)
#判断str是否为空
def containsAny(str,strset):
    return len(strset) != len(strset.translate(notrans,str))
#判断str是否首字母大写,若为空也返回真
def iscapitalize(s):
    return s == s.capitalize() and containsAny(s,string.letters)
‘‘‘
        列表推导
        List  = [operator for i in iterlist]
        iterlist是一个迭代器,每次迭代取出i并用于operator操纵记录结果,
        最后每次迭代并进行operator形成结果列表
‘‘‘
List = [i*2 for i in "zhang"]
print List
#结果是:[‘zz‘, ‘hh‘, ‘aa‘, ‘nn‘, ‘gg‘]
‘‘‘
    字符串替换:
‘‘‘
import string
new_style = string.Template(‘this is $thing‘)
print new_style.substitute({‘thing‘:5})
print new_style.substitute({‘thing‘:‘test‘})
print new_style.substitute(thing=5)
print new_style.substitute(thing=‘test‘)
#Template的高级用法
new_style = string.Template(‘this is $thing‘)
thing = 100
print new_style.substitute(locals())
#结果是this is 100
‘‘‘
        绑定方法和非绑定方法
        绑定方法:
        1.如果一个python对象提供一个方法,
        可以直接获得一个已经绑定到该对象的方法从而直接使用这个方法。
        非绑定方法:
        2.如果获得的是一个类型或者一个类提供的方法,则是非绑定方法,
        需要提供该类型或者类的一个实列
‘‘‘
#绑定方法
test = [‘1‘,‘2‘,‘3‘]
bangding =  test.append
bangding(‘4‘)
print test
#结果:[‘1‘, ‘2‘, ‘3‘, ‘4‘]
#非绑定方法
bangding = list.append
test = [‘1‘,‘2‘,‘3‘]
bangding(test,‘4‘)
print test
#结果:[‘1‘, ‘2‘, ‘3‘, ‘4‘]
import codecs,sys
sys.stdout = codecs.lookup(‘utf-8‘)[-1](sys.stdout)
print u"你好"

运维的我要学开发--Python(3),布布扣,bubuko.com

时间: 2024-12-20 11:47:59

运维的我要学开发--Python(3)的相关文章

运维的我要学开发--Python(4)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示. #-*- coding: utf-8 -*- ''' 文件相关的操作: read() open() 两个参数: 第一个:文件路径 第二个:打开文件的模式 常用的文件打开模式: r:文本模式读取 rb:二进制模式读取 w:创建文件并文本模式 wb:创建文件,二进制模式写 rU:通用换行符的文本模式读取文件(独立

运维的我要学开发--Python(6)

本文均来自Python Cookbook,本博文励志将Cookbook中的string部位,文件,面向对象编程部分完成,本系列博文陆续还会介绍flask框架,每篇博文都以一个个小例子展示. #-*- coding: utf-8 -*- ''' windows下修改文件属性 ''' import win32con,win32api,os #创建一个文件,并展示如何操作它 thefile = 'test' f = open('test','w') f.close() #设置成隐藏文件... win3

运维的我要学开发--Flask(1)

Flask默认使用的是Jinja2的模板引擎,下面将会介绍下Flask提供给模板的一些方法. #-*- coding: utf-8 -*- #导入一些函数 from flask import Flask from flask import render_template,g #创建一个app app = Flask(__name__) #创建一个装饰器 @app.route("/") @app.route("/index") def index(): string=

Windows服务器Pyton辅助运维--03.安装Visual Studio 的 Python 开发插件 PTVS

PTVS (Python Tools for Visual Studio) http://pytools.codeplex.com/ 当前版本:2.1 RC PTVS (Python Tools for Visual Studio) 是一个开源项目,采用Apache 2.0许可发布.PTVS的主要特性包括:CPython.IronPython.Jython和PyPy:高级编辑功能如IntelliSense:多重构:内置REPL(read-eval-print loop)窗口:调试和分析功能,等等

运维工程师是要学python还是学go那?

在我们的认知中,运维工程师就是一个背锅侠,那么咱们怎么样来避免做背锅侠那? 可能有人会告诉你,你需要去懂一门开发语言,其实在现价段,掌握一门开发语言已经成为高级运维工程师的必备计能.不会开发,你就不能充分理解你们系统的业务流程,开发人员是很少关注性能的问题,他们只会把功能开发完成就可以了,那么性能问题就需要运维人员来做.一个业务上线了,导致CPU使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢?然后就交给开发人员处理了,这样咋体现你的价值?如果是这

身为运维的你,怎么掌握python才不会失业

以前,我们都说Python是运维工程师的未来:现在,为什么大家都说不会Python的运维都将失业?运维必须懂开发,特别是python开发,已经形成大家的共识,不懂开发的运维,路会越走越窄. 而现在的情况是:有的运维人员连书都看不懂:有的书是可以看懂,别人写的简单代码也可以看懂,但自己不会写代码解决问题. 从不会写代码,到自己独立能写代码解决问题.这个问题很重要!盲目学习所谓的项目,最后还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目来加强训练. ? 其实,学习编程不止是学习

运维工程师该干什么学些什么?[致菜鸟]

很多刚学linux运维的朋友,总是搞不懂,运维工程师工作中干些啥?学的这些东西有什么用?今日我特来总结总结,希望能帮助即将跨入该行的人形成一个整体的思路.下面红色字体代表所要掌握的LInux免费开源工具. 运维工程师干些什么 总结两句话 1.  保障业务长期稳定运行(如网站服务器.游戏服务器等等). 2.  保障数据安全可靠(如用户名密码.游戏数据.博客文章.交易数据等等). 由这两句话推演运维工程师要学些什么 一.保障业务长期稳定运行 出一点点差错,用户就要投诉了. 1.业务跑在什么上面? 网

情人节了,可怜的IT运维男,没学过ITIL,还是没有女朋友……

2015年情人节来临,亲爱的IT男,别告诉我,你还没有女朋友,你为什么总在加班,没时间恋爱:为什么总在被业务部门抱怨,没心情恋爱:为什么工作总也做不顺,没信心恋爱!!!为什么这个可怜的人是你,原因很简单,你还没学ITIL吧. 你是一个企业的IT运维人员吗?你们的IT运维工作是否杂而无章,是否责任不明?你是否对复杂的运维流程和客户的无尽抱怨束手无策?你是否希望在领导面前提出有效的合理建议,以提升企业的IT服务管理水平?ITIL就是您的解决方案. 对于企业实施ITIL,可以有助于最终进行完善的服务管

运维堡垒机(跳板机)系统 python

相信各位对堡垒机(跳板机)不陌生,为了保证服务器安全,前面加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有 身份认证,授权,访问控制,审计等功能,笔者用Python基本实现了上述功能. AD:2014WOT全球软件技术峰会北京站 课程视频发布 11月21日-22日 与WOT技术大会相约深圳 现在抢票 相信各位对堡垒机(跳板机)不陌生,为了保证服务器安全,前面加个堡垒机,所有ssh连接都通过堡垒机来完成,堡垒机也需要有 身份认证,授权,访问控制,审计等功能,笔者用Python基本实现了