python编程 基础入门练习题三

程序1: 实现简单的shell sed替换功能

需求:

      使python具有shell中sed替换功能

程序2:修改haproxy配置文件 

1、查
    输入:www.oldboy.org
    获取当前backend下的所有记录

2、新建
    输入:
        arg = {
            'backend': 'www.oldboy.org',
            'record':{
                'server': '100.1.7.9',
                'weight': 20,
                'maxconn': 30
            }
        }

3、删除
    输入:
        arg = {
            'backend': 'www.oldboy.org',
            'record':{
                'server': '100.1.7.9',
                'weight': 20,
                'maxconn': 30
            }
        }
需求
global       
        log 127.0.0.1 local2
        daemon
        maxconn 256
        log 127.0.0.1 local2 info
defaults
        log global
        mode http
        timeout connect 5000ms
        timeout client 50000ms
        timeout server 50000ms
        option  dontlognull

listen stats :8888
        stats enable
        stats uri       /admin
        stats auth      admin:1234

frontend oldboy.org
        bind 0.0.0.0:80
        option httplog
        option httpclose
        option  forwardfor
        log global
        acl www hdr_reg(host) -i www.oldboy.org
        use_backend www.oldboy.org if www

backend www.oldboy.org
        server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000

原配置文件
原配置文件

  

1.简单的shell sed替换功能                                                                                                                                         

可以用来修改配置文件参数

This is a rectangle:
    Length=90cm
    Width=30cm
config.txt

代码:

#-*- coding:utf-8 -*-
#Author:'Yang'

import sys,os #sys模块获取脚本的参数,os模块包含普遍的操作系统功能

def sed_func(file_name,old,new):
    f=open(file_name)
    f2=open("%s.bak" %file_name,"a+")

    for line in f:
        if old in line:
            line=str.replace(line,old,new)
            f2.write(line)
            f2.flush()
            continue
        f2.write(line)
        f2.flush()
    f.close()
    f2.close()

    os.remove(file_name)#删除原file_name文件
    os.rename("%s.bak" %file_name,file_name)#把file_name.bak文件改命为file_name

sed_func(r"D:\Python34\test.txt","Width=30cm","Width=45cm")
View Code

2.haproxy配置管理平台                                                                                                                                             

流程图:

 

代码:

 

posted on 2017-06-16 16:53  奔跑的蜗牛~~  阅读(98)  评论(0)    收藏  举报

导航