• python操作文件(增、删、改、查)


    内容

    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.oldboy1.org
            server 10.10.0.10 10.10.0.10 weight 9999 maxconn 33333333333
            server 10.10.10.1 10.10.10.1 weight 22 maxconn 2000
            server 2.2.2.4 2.2.2.4 weight 20 maxconn 3000
    backend www.oldboy2.org
            server 3.3.3.3 3.3.3.3 weight 20 maxconn 3000
    backend www.oldboy20.org
            server 10.10.0.10 10.10.0.10 weight 9999 maxconn 33333333333

     1 arg = {'backend': 'www.oldboy.org','record':{'server':'10.10.0.10 10.10.0.10',"weight":"9999", "maxconn": "33333333333"}}
     2 count=0
     3 while True:
     4     choice=eval(input("请输入一个字典{}"))
     5     with open( "haproxy.conf",'r') as a,open("b.txt",'w') as b:
     6         for line in a:
     7             count+=1
     8             if count==26:
     9              b.write (str(choice["backend"]))
    10              b.write('
    ')
    11              b.write(str(choice["record"]).strip('{}'))
    12             else:b.write(line)

    删除:

    import sys, time
    count=0
    l=[]
    while True:
        with open( "haproxy.conf",'r') as a:
                for i in a:
                    count+=1
                    print(i,count)
                else:
                    count=0
                    print(count)
        choice=input("请输入要删除的行---->:").strip()
        for i in choice:
            if i.isdigit():
                l.append(int(i))
        with open( "haproxy.conf",'r') as a,open("b.txt",'w') as b:
            for line in  a:
                count+=1
                if count in l:
                    continue
                else:
                    b.write(line)
        for i in l:
            sys.stdout.write("
     ##########正在删除第%s行#########" % i)
            sys.stdout.flush()
            time.sleep(1)
        exit(print('
     再见!'))
    arg = {'backend': 'www.oldboy.org','record':{'server':'10.10.0.10 10.10.0.10',"weight":"9999", "maxconn": "33333333333"}}
    
    while True:
        choice = eval(input("请输入一个字典{}:").strip())
        with open( "haproxy.conf",'r') as a,open("b.txt",'w') as b:
          for line in a:
                if line.startswith("backend") and choice["backend"] in line:
                    continue
                if choice["record"]['server'] in line:
                    continue
                else:
                    b.write(line)

     删2:

      

    count=0
    while True:
        with open( "haproxy.conf",'r') as a:
            for i in a:
                count+=1
                print(i,count)
            else:
                count=0
                print(count)
        choice=int(input("请输入删除的行:"))
        print(choice)
        with open( "haproxy.conf",'r') as a,open("b.txt",'w') as b:
            for line in  a:
                count+=1
                if count==choice:
                    continue
                else:
                    b.write(line)

     改

    count=0
    while True:
        choice=eval(input("请输入一个字典{}")) # choice=eval(input("请输入一个字典{}"))
        with open( "haproxy.conf",'r') as a,open("b.txt",'w') as b:
            for line in a:
                count+=1
                if count==28:
                    b.write(str(choice["backend"]).strip())
                    continue
                if count==29:
                    b.write("
    ")
                    continue
                if count==30:
                    for k,v in dict(choice['record']).items():
                      b.write('    ') 
                      b.write(k)
                      b.write("   ")
                      b.write(v)
                    continue
                if count==31:
                    b.write("
    ")
                    continue
                else:
                    b.write(line)

     1 while True:
     2     l=[]
     3     m=input("请输入您要查询的内容: ").strip()
     4     flag=False
     5     with open('haproxy.conf','r') as  ha1:
     6         for line in ha1:
     7             if line.startswith("backend") and m in line:  #第一步 定位到 backend行
     8                 flag=True
     9                 continue
    10             if flag==True:                                #第二步 设置标志开关
    11                 l.append(line)
    12             if line.startswith("backend") and flag:      #第三步 跳出循环
    13                 break
    14         for i in  l:
    15             print(i)

     用户登录三次锁定:

    count=0
    while True:
        user=input("请输入您的用户名: ").strip()
        with open("lock_account",'r') as a:
            for i in  a:
               if user==i.strip():
                    exit("您的账户已被锁定")
        password = input("请输入密码: ").strip()
        count+=1
        flag = False
        with open("account.txt", 'r') as b:
            for line in b:
               use,psw = line.strip().split()
               if user== use and password==psw:
                   count=0
                   print("---------欢迎登录-------- ")
    
        if count==3 and flag==False:
            with open("lock_account", 'a') as a:
                a.write(user)
                a.write('
    ')
                exit("输入次数超过3次,你的账户被锁定了")

     定义函数精简版

    count=0
    def open_lockaccount(user):
        with open("lock_account",'r') as a:
            for i in  a:
               if user==i.strip():
                    exit("您的账户已被锁定")
    def open_account(user,passwd):
        with open("account.txt", 'r') as b:
            for line in b:
               use,psw = line.strip().split()
               if user== use and password==psw:
                   count = 0
                   print("---------欢迎登录-------- ")
    def write_account(user):
        with open("lock_account", 'a') as a:
            a.write(user)
            a.write('
    ')
            exit("输入次数超过3次,你的账户被锁定了")
    while True:
        user=input("请输入您的用户名: ").strip()
        open_lockaccount(user)
        password = input("请输入密码: ").strip()
        count+=1
        flag = False
        open_account(user, password)
        if count == 3 and flag == False:
            write_account(user)
  • 相关阅读:
    0541-leetcode算法实现之反转字符串II-reverseStrII-python&golang实现
    helm 入门简介与安装(1)
    ubuntu18.04 netplan 设置dns,dns不生效
    服务器报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    0344-leetcode算法实现之反转字符串-reverse-string-python&golang实现
    python os模块常用方法总结
    0076-leeycode算法实现之最小覆盖子串-minimum-window-substring-python&golang实现
    0904-leetcode算法实现之水果成篮-fruit-into-baskets-python&golang实现
    0209-leetcode算法实现之长度最小子数组-minimum-size-subarray-sum-python&golang实现
    0977-leetcode算法实现之有序数组的平方sqaure-of-a-sorted-array-python&golang实现
  • 原文地址:https://www.cnblogs.com/sss4/p/6675208.html
Copyright © 2020-2023  润新知