精华内容
下载资源
问答
  • Python运维中常用的几十个Python运维脚本本文由马哥教育Python自动化实战班4期学员推荐,转载自互联网,作者为mark,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。file是一个类,使用...

    原标题:经典!Python运维中常用的几十个Python运维脚本

    本文由马哥教育Python自动化实战班4期学员推荐,转载自互联网,作者为mark,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建。但是更推荐使用内置函数open()来打开一个文件。

    首先open是内置函数,使用方式是open('file_name', mode, buffering),返回值也是一个file对象,同样,以写模式打开文件如果不存在也会被创建一个新的。

    f=open('/tmp/hello','w')

    #open(路径+文件名,读写模式)

    #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式

    如:'rb','wb','r+b'等等

    读写模式的类型有:

    rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)

    w 以写方式打开,

    a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)

    r+ 以读写模式打开

    w+ 以读写模式打开 (参见 w )

    a+ 以读写模式打开 (参见 a )

    rb 以二进制读模式打开

    wb 以二进制写模式打开 (参见 w )

    ab 以二进制追加模式打开 (参见 a )

    rb+ 以二进制读写模式打开 (参见 r+ )

    wb+ 以二进制读写模式打开 (参见 w+ )

    ab+ 以二进制读写模式打开 (参见 a+ )

    注意:

    1、使用'W',文件若存在,首先要清空,然后(重新)创建,

    2、使用'a'模式 ,把所有要写入文件的数据都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,将自动被创建。

    f.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)

    file.readline() 返回一行

    file.readline([size]) 返回包含size行的列表,size 未指定则返回全部行

    for line in f:

    print line #通过迭代器访问

    f.write("hellon") #如果要写入字符串以外的数据,先将他转换为字符串.

    f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).

    f.seek(偏移量,[起始位置])

    用来移动文件指针

    偏移量:单位:比特,可正可负

    起始位置:0-文件头,默认值;1-当前位置;2-文件尾

    f.close() 关闭文件

    要进行读文件操作,只需要把模式换成'r'就可以,也可以把模式为空不写参数,也是读的意思,因为程序默认是为'r'的。

    >>>f = open('a.txt', 'r')

    >>>f.read(5)

    'hello'

    read( )是读文件的方法,括号内填入要读取的字符数,这里填写的字符数是5,如果填写的是1那么输出的就应该是"h’。

    打开文件文件读取还有一些常用到的技巧方法,像下边这两种:

    1、read( ):表示读取全部内容

    2、readline( ):表示逐行读取

    一、用Python写一个列举当前目录以及所有子目录下的文件,并打印出绝对路径

    #!/magedu/bin/env python

    import os

    for root,dirs,files in os.walk('/tmp'):

    for name in files:

    print (os.path.join(root,name))

    os.walk()

    原型为:os.walk(top, topdown=True, =None, followlinks=False)

    我们一般只使用第一个参数。(topdown指明遍历的顺序)

    该方法对于每个目录返回一个三元组,(dirpath, dirnames, filenames)。

    第一个是路径,第二个是路径下面的目录,第三个是路径下面的非目录(对于windows来说也就是文件)

    os.listdir(path)

    其参数含义如下。path 要获得内容目录的路径

    二、写程序打印三角形

    #!/magedu/bin/env python

    input = int(raw_input('input number:'))

    for i in range(input):

    for j in range(i):

    print '*',

    print 'n'

    三、猜数器,程序随机生成一个个位数字,然后等待用户输入,输入数字和生成数字相同则视为成功。

    成功则打印三角形。失败则重新输入(提示:随机数函数:random)

    #!/magedu/bin/env python

    import random

    while True:

    input = int(raw_input('input number:'))

    random_num = random.randint(1, 10)

    print input,random_num

    if input == random_num:

    for i in range(input):

    for j in range(i):

    print '*',

    print 'n'

    else:

    print 'please input number again'

    四、请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2016-09-23.log, 并且把磁盘的使用情况写到到这个文件中。

    #!/magedu/bin/env python

    #!coding=utf-8

    import time

    import os

    new_time = time.strftime('%Y-%m-%d')

    disk_status = os.popen('df -h').readlines()

    str1 = ''.join(disk_status)

    f = file(new_time+'.log','w')

    f.write('%s' % str1)

    f.flush()

    f.close()

    五、统计出每个IP的访问量有多少?(从日志文件中查找)

    #!/magedu/bin/env python

    #!coding=utf-8

    list = []

    f = file('/tmp/1.log')

    str1 = f.readlines()

    f.close()

    for i in str1:

    ip = i.split()[0]

    list.append(ip)

    list_num = set(list)

    for j in list_num:

    num = list.count(j)

    print '%s : %s' %(j,num)

    1. 写个程序,接受用户输入数字,并进行校验,非数字给出错误提示,然后重新等待用户输入。

    2. 根据用户输入数字,输出从0到该数字之间所有的素数。(只能被1和自身整除的数为素数)

    #!/magedu/bin/env python

    #coding=utf-8

    import tab

    import sys

    while True:

    try:

    n = int(raw_input('请输入数字:').strip())

    for i in range(2, n + 1):

    for x in range(2, i):

    if i % x == 0:

    break

    else:

    print i

    except ValueError:

    print('你输入的不是数字,请重新输入:')

    except KeyboardInterrupt:

    sys.exit('n')

    六、python练习 抓取web页面

    from urllib import urlretrieve

    def firstNonBlank(lines):

    for eachLine in lines:

    if not eachLine.strip():

    continue

    else:

    return eachLine

    def firstLast(webpage):

    f=open(webpage)

    lines=f.readlines()

    f.close

    print firstNonBlank(lines), #调用函数

    lines.reverse()

    print firstNonBlank(lines),

    def download(url= 'http://www.magedu.com/72446.html',process=firstLast):

    try:

    retval = urlretrieve(url) [0]

    except IOError:

    retval = None

    if retval:

    process(retval)

    if __name__ == '__main__':

    download()

    七、Python中的sys.argv[]用法练习

    #!/magedu/bin/python

    # -*- coding:utf-8 -*-

    import sys

    def readFile(filename):

    f = file(filename)

    while True:

    fileContext = f.readline()

    if len(fileContext) ==0:

    break;

    print fileContext

    f.close()

    if len(sys.argv) < 2:

    print "No function be setted."

    sys.exit()

    if sys.argv[1].startswith("-"):

    option = sys.argv[1][1:]

    if option == 'version':

    print "Version1.2"

    elif option == 'help':

    print "enter an filename to see the context of it!"

    else:

    print "Unknown function!"

    sys.exit()

    else:

    for filename in sys.argv[1:]:

    readFile(filename)

    八、python迭代查找目录下文件

    #两种方法

    #!/magedu/bin/env python

    import os

    dir='/root/sh'

    '''

    def fr(dir):

    filelist=os.listdir(dir)

    for i in filelist:

    fullfile=os.path.join(dir,i)

    if not os.path.isdir(fullfile):

    if i == "1.txt":

    #print fullfile

    os.remove(fullfile)

    else:

    fr(fullfile)

    '''

    '''

    def fw()dir:

    for root,dirs,files in os.walk(dir):

    for f in files:

    if f == "1.txt":

    #os.remove(os.path.join(root,f))

    print os.path.join(root,f)

    '''

    九、ps 可以查看进程的内存占用大小,写一个脚本计算一下所有进程所占用内存大小的和。

    (提示,使用ps aux 列出所有进程,过滤出RSS那列,然后求和)

    #!/magedu/bin/env python

    #!coding=utf-8

    import os

    list = []

    sum = 0

    str1 = os.popen('ps aux','r').readlines()

    for i in str1:

    str2 = i.split()

    new_rss = str2[5]

    list.append(new_rss)

    for i in list[1:-1]:

    num = int(i)

    sum = sum + num

    print '%s:%s' %(list[0],sum)

    写一个脚本,判断本机的80端口是否开启着,如果开启着什么都不做,如果发现端口不存在,那么重启一下httpd服务,并发邮件通知你自己。脚本写好后,可以每一分钟执行一次,也可以写一个死循环的脚本,30s检测一次。

    #!/magedu/bin/env python

    #!coding=utf-8

    import os

    import time

    import sys

    import smtplib

    from email.mime.text import MIMEText

    from email.MIMEMultipart import MIMEMultipart

    def sendsimplemail (warning):

    msg = MIMEText(warning)

    msg['Subject'] = 'python first mail'

    msg['From'] = 'root@localhost'

    try:

    smtp = smtplib.SMTP()

    smtp.connect(r'smtp.126.com')

    smtp.login('要发送的邮箱名', '密码')

    smtp.sendmail('要发送的邮箱名', ['要发送的邮箱名'], msg.as_string())

    smtp.close()

    except Exception, e:

    print e

    while True:

    http_status = os.popen('netstat -tulnp | grep httpd','r').readlines()

    try:

    if http_status == []:

    os.system('service httpd start')

    new_http_status = os.popen('netstat -tulnp | grep httpd','r').readlines()

    str1 = ''.join(new_http_status)

    is_80 = str1.split()[3].split(':')[-1]

    if is_80 != '80':

    print 'httpd 启动失败'

    else:

    print 'httpd 启动成功'

    sendsimplemail(warning = "This is a warning!!!")#调用函数

    else:

    print 'httpd正常'

    time.sleep(5)

    except KeyboardInterrupt:

    sys.exit('n')

    #!/magedu/bin/python

    #-*- coding:utf-8 -*-

    #输入这一条就可以在Python脚本里面使用汉语注释!此脚本可以直接复制使用;

    while True: #进入死循环

    input = raw_input('Please input your username:')

    #交互式输入用户信息,输入input信息;

    if input == "wenlong":

    #如果input等于wenlong则进入此循环(如果用户输入wenlong)

    password = raw_input('Please input your pass:')

    #交互式信息输入,输入password信息;

    p = '123'

    #设置变量P赋值为123

    while password != p:

    #如果输入的password 不等于p(123), 则进此入循环

    password = raw_input('Please input your pass again:')

    #交互式信息输入,输入password信息;

    if password == p:

    #如果password等于p(123),则进入此循环

    print 'welcome to select system!' #输出提示信息;

    while True:

    #进入循环;

    match = 0

    #设置变量match等于0;

    input = raw_input("Please input the name whom you want to search :")

    #交互式信息输入,输入input信息;

    while not input.strip():

    #判断input值是否为空,如果input输出为空,则进入循环;

    input = raw_input("Please input the name whom you want to search :")

    #交互式信息输入,输入input信息;

    name_file = file('search_name.txt')

    #设置变量name_file,file('search_name.txt')是调用名为search_name.txt的文档

    while True:

    #进入循环;

    line = name_file.readline() #以行的形式,读取search_name.txt文档信息;

    if len(line) == 0: #当len(name_file.readline() )为0时,表示读完了文件,len(name_file.readline() )为每一行的字符长度,空行的内容为n也是有两个字符。len为0时进入循环;

    break #执行到这里跳出循环;

    if input in line: #如果输入的input信息可以匹配到文件的某一行,进入循环;

    print 'Match item: %s' %line #输出匹配到的行信息;

    match = 1 #给变量match赋值为1

    if match == 0 : #如果match等于0,则进入 ;

    print 'No match item found!' #输出提示信息;

    else: print "Sorry ,user %s not found " %input #如果输入的用户不是wenlong,则输出信息没有这个用户;

    #!/magedu/bin/python

    while True:

    input = raw_input('Please input your username:')

    if input == "wenlong":

    password = raw_input('Please input your pass:')

    p = '123'

    while password != p:

    password = raw_input('Please input your pass again:')

    if password == p:

    print 'welcome to select system!'

    while True:

    match = 0

    input = raw_input("Please input the name whom you want to search :")

    while not input.strip():

    print 'No match item found!'

    input = raw_input("Please input the name whom you want to search :")

    name_file = file('search_name.txt')

    while True:

    line = name_file.readline()

    if len(line) == 0:

    break

    if input in line:

    print 'Match item: ' , line

    match = 1

    if match == 0 :

    print 'No match item found!'

    else: print "Sorry ,user %s not found " %input

    十、Python监控CPU情况

    1、实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果

    2、特别注意:被监控的机器上需要支持snmp。yum install -y net-snmp*安装

    """

    #!/magedu/bin/python

    import os

    def getAllitems(host, oid):

    sn1 = os.popen('snmpwalk -v 2c -c public ' + host + ' ' + oid + '|grep Raw|grep Cpu|grep -v Kernel').read().split('n')[:-1]

    return sn1

    def getDate(host):

    items = getAllitems(host, '.1.3.6.1.4.1.2021.11')

    date = []

    rate = []

    cpu_total = 0

    #us = us+ni, sy = sy + irq + sirq

    for item in items:

    float_item = float(item.split(' ')[3])

    cpu_total += float_item

    if item == items[0]:

    date.append(float(item.split(' ')[3]) + float(items[1].split(' ')[3]))

    elif item == item[2]:

    date.append(float(item.split(' ')[3] + items[5].split(' ')[3] + items[6].split(' ')[3]))

    else:

    date.append(float_item)

    #calculate cpu usage percentage

    for item in date:

    rate.append((item/cpu_total)*100)

    mean = ['%us','%ni','%sy','%id','%wa','%cpu_irq','%cpu_sIRQ']

    #calculate cpu usage percentage

    result = map(None,rate,mean)

    return result

    if __name__ == '__main__':

    hosts = ['192.168.10.1','192.168.10.2']

    for host in hosts:

    print '==========' + host + '=========='

    result = getDate(host)

    print 'Cpu(s)',

    #print result

    for i in range(5):

    print ' %.2f%s' % (result[i][0],result[i][1]),

    print

    print

    十一、Python监控网卡流量

    1、实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果

    2、特别注意:被监控的机器上需要支持snmp。yum install -y net-snmp*安装

    """

    #!/magedu/bin/python

    import re

    import os

    #get SNMP-MIB2 of the devices

    def getAllitems(host,oid):

    sn1 = os.popen('snmpwalk -v 2c -c public ' + host + ' ' + oid).read().split('n')[:-1]

    return sn1

    #get network device

    def getDevices(host):

    device_mib = getAllitems(host,'RFC1213-MIB::ifDescr')

    device_list = []

    for item in device_mib:

    if re.search('eth',item):

    device_list.append(item.split(':')[3].strip())

    return device_list

    #get network date

    def getDate(host,oid):

    date_mib = getAllitems(host,oid)[1:]

    date = []

    for item in date_mib:

    byte = float(item.split(':')[3].strip())

    date.append(str(round(byte/1024,2)) + ' KB')

    return date

    if __name__ == '__main__':

    hosts = ['192.168.10.1','192.168.10.2']

    for host in hosts:

    device_list = getDevices(host)

    inside = getDate(host,'IF-MIB::ifInOctets')

    outside = getDate(host,'IF-MIB::ifOutOctets')

    print '==========' + host + '=========='

    for i in range(len(inside)):

    print '%s : RX: %-15s TX: %s ' % (device_list[i], inside[i], outside[i])

    print

    ————开班喜讯————

    温馨提醒:马哥教育Python自动化开发班将于8月28日在北京海淀上地开班,小班制魔鬼式授课,钜惠限时抢位中。

    马哥教育2017年Python自动化运维开发实战班,马哥联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才。

    292e93fdb7634497b5a9843c648f5ee1_th.jpg

    —Python学习免费交流QQ群:542679406(千人群)—返回搜狐,查看更多

    责任编辑:

    展开全文
  • Python运维

    2018-03-19 20:51:20
    很好的资料,欢迎下载。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • python运维实例.pdf

    2019-03-12 12:39:11
    python运维实例.pdf,高清文字版本,包含日常使用的各种python运维实例
  • 该套餐着重讲解Python运维方面的知识,共包含3门课程知识,分别是Python自动化运维开发入门、Python自动化高级开发、Python Django框架视频教程。
  • 03.3.Python运维培训

    2019-02-25 09:30:18
    03.3.Python运维培训
  • 实际上python运维工程师这个岗位也是最近几年随云计算计算发展和广泛普及而火的,所以大家不知道python运维工程师非常能力理解,下面给大家介绍一下python运维工程师岗位所从事的工作内容。python运维工程师主要干...

    很多人可能并没有听说过python运维工程师,只知道运维工程师或者是linux运维工程师这两个词。实际上python运维工程师这个岗位也是最近几年随云计算计算发展和广泛普及而火的,所以大家不知道python运维工程师非常能力理解,下面给大家介绍一下python运维工程师岗位所从事的工作内容。

    python运维工程师主要干什么?

    其实无论是做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可以二十四小时不间断地为用户提供服务,这个岗位负责维护并确保整个服务的高可用性,同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI。

    1596450617a937b2.jpg

    Python运维工程师的基本工作?

    说到底,其实Python运维工程师要做的就是随时解决报警故障、业务程序更新、编写一些脚本,监控或完成其他可自动完成功能、运维架构完善、部署一些用起来更方便更可靠或性能更好的开源工具以及制定运维流程规范,此外还有一些杂活,如调交换机,装系统,部署新环境等。它保障业务长期稳定运行(如网站服务器、游戏服务器等),同时保障数据安全可靠(如用户名密码、游戏数据、文章内容、交易数据等)。

    为什么运维工程师要学习Python?

    基于Python本身的优点就是简单,易学,速度快,免费、开源,高层语言,可移植性,解释性,可扩展性,可嵌入性,丰富的库,独特的语法。Python已经成为现在编程的必备语言。作为“胶水语言”它能够把其他语言制作的各种模块轻松联结在一起。比起C和Java,Python的魅力更为突显,因为完成同一项任务,C语言需要1000行代码,Java只需要100行代码,而Python可能只需要20行就轻松搞定。

    Python在系统运维上的优势在于其强大的开发多能力和完整的工业链,它的开发能力远强于各种Shell和Perl,的确通过Shell脚本来实现自动化运维!借助自动化运维来实现大规模集群维护的想法是对的,但由于Shell本身的可编程能力较弱,对很多日常维护中需要的特性支持不够,也没有现成的库可以借鉴,各种功能都需要从头写起,所以说Shell脚本力量不够。

    Python具除了易读易写更兼具面向对象和函数式风格,还有不错元编程能力已经成为IT运维、科学计算、数据处理等领域的主要编译语言。通过系统化的将各种管理工具结合,对各类工具进行二次开发,形成统一的服务器管理系统。

    15964506304a62ea.jpg

    Python运维工程师工作职责和职位要求:

    工作职责:

    1、负责公司自动化运维管理工具(SaltStack)开发。

    2、利用python开发,使得服务器物理数据或进程数据web界面化。

    3、根据需求编写SaltStack脚本完成相关软件部署、配置、管理。

    4、提升运维工作自动化以及智能化程度。

    5、日常运维相关脚本编写(Python为主)。

    岗位要求:

    1、系统:熟悉Linux系统, 包括操作系统原理, 常用系统命令, 系统服务。

    2、语言:熟练掌握python语言,熟练使用Python常用模块和服务器技术相关模块。

    3、框架:至少熟悉一种Python Web框架,如 Django、Tornado等。

    4、经验:至少一年以上python项目开发经验。能够利用python提取服务器物理数据或告警信息,达到WEB界面可视化。

    展开全文
  • python运维开发实战

    2020-08-05 10:16:06
    python运维和开发实战-基础篇python运维和开发实战-基础篇课程链接如下:通过如下链接地址购买课程可享受优惠哈~限时优惠,原价499元,现价只需125元https://edu....

    python运维和开发实战-基础篇 

    python运维和开发实战-基础篇课程链接如下:

    通过如下链接地址购买课程可享受优惠哈~限时优惠,原价499元,现价只需125元


    https://edu.51cto.com/sd/893da

    Python简介

    python是一种通用的面向对象的开发语言、比其他编程语言更简单、易学,易懂、非常适合快速开发,python在WEB开发、软件开发、大数据、自动化测试、自动化运维、全栈开发、云计算、大数据、人工智能、搜索引擎、科学计算等方面得到广泛的应用。

    为什么学习Python

    python应用非常广泛、国内外很多公司都在使用python

    国内:阿里、腾讯、百度、京东、新浪、51CTO、豆瓣、快手、抖音、网易、金山,各大银行和金融公司等

    国外:谷歌、YouTube、Facebook、红帽、IBM、NASA、Yahoo等

    Python发展趋势

    Python是目前IT就业市场最受欢迎,最热门的技术技能之一,且容易上手,学会了python,可以大幅提高IT人的自身竞争力。在知名技术交流网站Stack Overflow初推出的开发人员调查报告中,Python连续三年获得这个榜单的第一名。

    课程亮点

    1、学习方式灵活,适合上班族、学生、想要转行做IT的人员学习

    课程可在电脑,手机观看,随时可以学习,购买一次,终身享受,
    

    2、知识点全面、课程质量高

    涵盖的知识点齐全、注重课程质量
    

    3、精益求精,不断改进

    根据学员要求,随时更新课程内容
    

    4、适合范围广

    零基础、有基础
    运维、开发、测试
    其他行业想转行做运维开发的人员,均可学习
    

    讲师简介

    先超(lucky)python工程师、高级运维工程师、资深DevOps工程师、k8s工程师、运维开发工程师,在互联网上市公司拥有多年一线运维经验,主导过亿级pv项目的架构设计和运维工作。

    主要研究方向:

    1.云计算方向:

    容器(kubernetes、docker),虚拟化(kvm、Vmware vSphere),微服务(istio),PaaS(openshift),IaaS(openstack)等
    2.系统/运维方向:

    linux系统下的常用组件(nginx,tomcat,elasticsearch,zookeeper,kafka等),DevOps(Jenkins+gitlab+sonarqube+nexus+k8s),CI/CD,监控(zabbix、prometheus、falcon)等.    

    3.python、go

    课程大纲

    第一章 说在前面的话

    1-1.说在前面的话

    1-2.课件使用和下载说明

    第二章 在Windows中安装Python 

    第三章  在linux系统下安装Python

    第四章 在mac系统下安装python

    第五章 在IDLE集成开发环境编写Hello World程序

    第六章 安装和配置Pycharm集成开发环境

    第七章 在Pycharm中编写Hello World程序

    第八章 Python数据类型

    8-1.python数据类型number之整型-int

    8-2.python数据类型number之浮点型-float

    8-3.python数据类型number之复数型-complex

    第九章 变量和关键字

    第十章 Python运算符

    10-1.python运算符-算数运算符

    10-2.python运算符-比较运算符

    10-3.python运算符-赋值运算符

    10-4.python运算符-按位运算符

    10-5.python运算符-逻辑运算符

    10-6.python运算符-成员运算符

    10-7.python运算符-身份运算符

    10-8.python运算符-布尔运算符

    第十一章 Python序列

    11-1.python序列之索引

    11-2.python序列之分片

    11-3.python序列之乘法和加法

    11-4.python序列之成员资格

    11-5.python序列之最大值+最小值+长度

    第十二章 Python列表

    12-1.什么是列表?

    12-2.访问列表中的值

    12-3.更新列表中的元素

    12-4.列表中增加元素-append和insert和extend

    12-5.删除列表中的元素-del和remove和clear和pop

    12-6.列表的排序和翻转-sort和reverse

    12-7.sort的高级排序

    12-8.列表的拷贝copy()

    第十三章 Python元组

    13-1.元组的访问+创建+删除

    13-2.元组的索引和切片

    13-3.元组的内置函数汇总

    第十四章 Python字典

    14-1.python字典概述

    14-2.创建字典

    14-3.通过内置函数dict创建字典

    14-4.访问字典里的元素

    14-5.修改字典-在字典中增加元素

    14-6.删除字典中的元素

    14-7.字典的特性

    14-8.字典的内置函数

    14-9.字典和列表的区别联系

    14-10.字典中的函数-clear()

    14-11.字典中的函数-copy()

    14-12.字典中的函数-深copy()和浅copy()详细介绍

    14-13.字典中的函数-fromkeys()

    14-14.字典中的函数-get()函数

    14-15.字典中的函数-keys()和items()

    14-16.字典中的函数-setdefault()

    14-17.字典中的函数-values()和update()

    第十五章-Python字符串

    15-1.python字符串概述

    15-2.python中的转义字符和运算符概述

    15-3.字符串运算符的基本使用

    15-4.字符串的格式化%使用-%d和%f和%s

    15-5.字符串的格式化-格式化元组

    15-6.格式化字符串-指定宽度、精度、标表

    15-7.字符串内置函数-和字母大小写相关的函数

    15-8.字符串内置函数-len()和center()

    15-9.字符串内置函数-find()

    15-10.字符串内置函数-join()和replace()

    15-11.字符串内置函数-split()函数

    第十六章 Python集合

    16-1.集合(set)概述-集合的创建和运算

    16-2.在集合中增加元素-add()和update()

    16-3.移除集合中的元素-remove和pop和discard

    16-4.集合的其他方法和集合的函数汇总讲解

    第十七章 Python的条件语句if

    17-1.布尔变量

    17-2.编写一个简单的if语句

    17-3.编写一个多语句块的if条件语句

    17-4.if-else条件语句讲解

    17-5.if-elif-else语句讲解

    17-6.if语句嵌套

    17-7.is同一性运算

    17-8.比较字符串和序列

    第十八章 Python的循环语句for和while

    18-1.编写一个简单的while循环语句

    18-2.while...else循环语句

    18-3.for循环-for循环字符串-字典-列表

    18-4.循环遍历字典的两种方法

    18-5.range()函数

    18-6.range()函数补充-负数步长

    18-7.for循环的迭代-zip()实现并行迭代

    18-8.while和for循环中的break语句

    18-9.while和for循环中的continue语句

    18-10.while循环中的else语句

    18-11.for循环中的else语句

    18-12.python中的pass语句

    第十九章 Python函数

    19-1.编写第一个自定义的函数

    19-2.python函数参数-必须参数

    19-3.python函数参数-关键字参数

    19-4.python函数参数-默认参数

    19-5.python函数参数-可变参数

    19-6.python函数参数-形参和实参-1

    19-7.python函数参数-形参和实参-2

    19-8.pyhon函数变量-局部变量

    19-9.python函数变量-全局变量

    19-10.有返回值和无返回值的函数-return

    19-11.使用函数的好处

    19-12.递归函数

    19-13.匿名函数-lambda

    19-14.偏函数

    19-15.课程总结

    第二十章 用户交互函数input

    20-1.用户交互函数input

    第二十一章 实战练习

    1.判断某月属于季节

    2.编写一个用户登陆系统

    3.模拟转盘抽奖

    4.模拟在银行取款和存款-1

    5.模拟在银行取款和存款-2

    6.编写后台管理员管理前台会员信息系统

    可扫描下方二维码咨询课程具体信息


    往期课程汇总

    讲师主页

    https://edu.51cto.com/sd/73ffd

    kubernetes全栈技术讲解+企业案例演示[带你快速学习和使用k8s]【2020年进阶版】

    https://edu.51cto.com/sd/d3cac

    Prometheus+Grafana搭建全方位的监控告警系统

    https://edu.51cto.com/sd/76993

    云计算系列之PaaS开源容器云平台OpenShift/Kubernetes基础到精通

    https://edu.51cto.com/sd/7b595

    kubernetes安装使用+ceph实现后端持久化存储

    https://edu.51cto.com/sd/d7dff

    基于jenkins和kubernetes的DevOps工具链【基础+实践扩展】

    https://edu.51cto.com/sd/fbaa1

    kubernetes高可用集群安装部署+企业案例演示[带你快速掌握k8s]【2020年基础篇】

    https://edu.51cto.com/sd/bacb5

    openstack从入门到精通

    https://edu.51cto.com/sd/dce78

    Prometheus Operator

    https://edu.51cto.com/sd/a3f7c

    展开全文
  • 教程名称:Python运维开发技术汇总课程目录:【】python 一键添加 zabbix 监控脚本【】python 历史数据删除脚本【】python3操作mysql教程【】python使用httplib模块实现监测web服务脚本【】python分析nginx访问日志...
  • Python运维工程师12期培训教程完整版。
  • Python 运维开发课程标准 课程名称Python 运维开发 适用专业云计算技术与应用 课程代码 参考学时64 一课程概述 本课程是云计算技术与应用专业的专业核心课程,具有很强的实践性通过 本课程的学习使学生能够牢固地掌握...
  • 本篇文章给大家整理了20个最常用Python运维中用到的库和模块,希望我们整理的内容对大家有所帮助。
  • Python运维工具介绍1–fabric Python运维工具介绍1–fabric - reyoung1110 - 博客园Python运维工具介绍1–fabricfabric是一个Python写的运维工具。他使用python完全实现了ssh客户端的协议。使得之前的.....

    Python运维工具介绍1–fabric - reyoung1110 - 博客园

    Python运维工具介绍1–fabric

    fabric是一个Python写的运维工具。他使用python完全实现了ssh客户端的协议。使得之前的服务器部署,维护,获得当前服务器状态等需要ssh上服务器的工作,可以完全的自动化运行。这种工具对于我这种喜欢折腾的人来说,无疑是种解脱。

    Get Start 

    如何安装 

    • 安装Python。 官方网站
    • 安装easy_install或者pip
    • 键入命令easy_install fabric或者pip -U fabric
    • 将Python的Scripts目录放到Path中(好似只是windows需要,这个目录大概在你的Python安装目录下的Scripts文件夹)。

    Try Hello World 

    安装完毕后,我们就要体验一下fabric了。用你最喜欢的IDE将下面代码存成一个叫做”fabfile.py”的文件。代码如下:

    from fabric.api import *
    
    @task
    def PrintCpuinfo():
            cmd_output = run("cat /proc/cpuinfo")
            print cmd_output

    这段代码的目的就是获得远端计算机上CPU的参数。并输出出来。写完代码后,我们使用命令行输入fab PrintCpuinfo(一定要确定PATH中有个scripts哦)。就可以按照提示输入登录host,密码等等。

    深入了解 

    配置Host 

    之前,在Hello World中,我们并未配置需要登录的Host,我们运行后,fabric会使用命令行交互获得需要登录的host和密码。但是,我们需要做的是自动化的去干这件事情。应该如何将登陆自动化呢?

    使用命令行参数 

    在调用fabric的时候,我们可以使用命令行参数-H确定这个命令需要在哪台主机,或者哪些台主机上运行。示例如下:

    fab -H user1@host1,user2@host2 PrintCpuinfo

    这样便可以自动化的在多台计算机上执行PrintCpuinfo命令。

    在fabfile中配置HOST 

    我们可以在fabfile中,定义tast之前,加入如下代码,来配置要登录的host。

    env.password = "password"
    env.hosts = ["a@host1","b@host2"]

    这样,使用fab PrintCpuinfo的时候,便可以自动登录到远程计算机了而不需要输入密码了。

    还有哪些命令? 

    在fabric中,不仅仅支持我们上面用到的run命令,同时还有如下命令:

    • sudo: 和run类似,只是sudo之后运行
    • get/put: 使用sftp协议上传下载文件
    • local:本地运行命令
    • cd: 更改目录,使用 with cd("目录名"):来进行。
    • prompt: 类似于raw_input的命令,只是与env变量有交互。
    • reboot:重启。


    fabric使用了极其原始和简单的api与远程计算机进行交互。这注定了其易用性,和可扩展性。。但是仅仅有fabric对于很多事情都是很困难的,例如跨操作系统的操作(ubuntu/centos)等。可能会在之后某篇文章中做一介绍。

     

    posted on 2013-01-05 08:58 lexus 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/lexus/archive/2013/01/05/2845116.html

    展开全文
  • Python 运维开发工程师课程介绍 在编程语言流行指数(PYPL)排行榜上 Python的份额高达28.24 超越Java 稳居第一 成为增长势头最好的语 言 Python能够取得如此出色的成绩 与他 自身特点及发展密不可分 Python能够大展...
  • 主要介绍了Python运维开发之psutil库的使用,psutil能够轻松实现获取系统运行的进程和系统利用率。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 03.2.Python运维系统开发(全36集)
  • 今天小编就为大家分享一篇Python运维之获取系统CPU信息的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python运维自动化之nginx配置文件对比操作,涉及Python针对文件的读取、遍历、比较进而达到差异对比的相关操作技巧,需要的朋友可以参考下
  • * * * * 目录 目录 Python运维(一) * 学习任务 编写获取基本的获取电脑信息的程序 * 知识目标 01 能力目标 02 学习目标 熟悉python导入模块 熟悉python处理字符串 熟悉python获取基本信息 掌握python导入模块 掌握...
  • python运维和开发实战-高级篇python运维和开发实战-高级篇课程链接如下:通过如下链接地址购买课程可享受2.5折优惠哈,时间有限~????https://edu.51cto.co...
  • 老男孩python运维视频教程(全15集) 文件内百度云下载连接(django)
  • Python运维编程

    2015-10-11 21:26:00
    Python运维编程 作者:Danbo 2015-10-11 什么是Python,为什么要使用Python? 这个大家自行谷歌,不过看看知乎你就知道Python有多么强大:http://www.zhihu.com/question/25038841 #大蟒蛇是人形自走跑有木有啊!...
  • 二、python运维基础篇打算写些什么 现在找运维工作,基本上都要求会shell/python,所以学好python对运维来说是很重要的! 一、运维为什么要学python 运维为什么学python,理由是也是很简单的,因为招聘网上都...
  • python运维需要会什么随着移动互联网的普及,服务器运维所面临的挑战也随之越来越大。当规模增长到一定程度,手动管理方式已经无法应对,自动化运维成为解决问题的银弹。Python凭借其灵活性,在自动化运维方面已经被...
  • python运维之paramiko 2. FABRIC 一个与多台服务器远程交互的PYTHON库和工具 3. SSH连接与自动化部署工具paramiko与Fabric 4. Python批量管理主机(paramiko、fabric与pexpect) 5. 任务调度利器:Celery ...
  • Python运维开发哪家好

    2018-08-23 15:59:31
    曾经,微软的运维总监大卫·克斯比说过...那么,要怎么才能找到好的Python运维开发学习中心呢?建议还是不要怕麻烦,去实地考察试学更实在。  Python是一门高级语言,那么是不是越低级的程序越难学,越高级的程序越...
  • 老男孩Python运维开发课程 下载地址:百度网盘
  • 学习Python中有不明白推荐加入交流裙  号:735934841  群里有志同道合的小伙伴,...或许你经常听说,一个高级运维必须会Python。一个不会Python运维拿不了高薪。那么,Python运维的关系是什么呢?为什么Pyth...
  • Python运维-Socket网络编程

    千次阅读 2019-07-11 13:20:16
    慕课网上《Python运维-Socket网络编程》课程个人总结笔记,侵删。 慕课网视频链接:https://www.imooc.com/learn/1031 一、课程介绍 1.1 socket简介 Socket是什么? Socket是电脑网络中进程间数据流的端点 Socket是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,314
精华内容 4,925
关键字:

python运维

python 订阅