zoukankan      html  css  js  c++  java
  • Python3.x 文件操作练习

    # 要求

    1.可在配置文件中添加一条记录

    2.可删除配置文件中一条记录

    # 增加:

    1.用户输入以下字典类型的字符串(注意字串必须要用双引号"",因为json不能识别单引号)

    "u_input = input({"backend": "test.aa.com", "record": {"server": "100.1.7.213", "weight": 20, "maxconn": 30}})"

    2.通过json.loads()模块把字符串转换成字典

    3.通过格式化配置文件,在需要添加的位置设置value的值

    # 删除:

    1.选择用户输入需要删除的字符串,用strip()方法去除掉特殊符号

    2.按行读取配置文件,对比并排除需要删除的字符串,把排除后的数据存入列表中

    3.用"w"模式打开文件(把原来文件的内容清除),循环读取列表内容,并写入文件

    配置文件:(文件名:config.txt)
    ---------------------------
    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 aa.org
            bind 0.0.0.0:80
            option httplog
            option httpclose
            option  forwardfor
            log global
            acl www hdr_reg(host) -i www.aa.com
            use_backend www.aa.com if www
    
    backend www.bb.com
            server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
    
            # 格式化显示
            # server": "{0}","weight": {1},"maxconn": {2}
    
    backend buy.cc.com
            server 100.1.7.90 100.1.7.90 weight 20 maxconn 3000
    ---------------------------
     1 import json
     2 
     3 
     4 def add():
     5     '''
     6    添加一条数据
     7    :return: 
     8    '''
     9     # {"backend": "test.aa.com", "record": {"server": "100.1.7.213", "weight": 20, "maxconn": 30}}
    10     u_input = input("Please input add data:")
    11     dic = json.loads(u_input)
    12 
    13     server = dic["record"]["server"]
    14     weight = dic["record"]["weight"]
    15     maxconn = dic["record"]["maxconn"]
    16 
    17     with open("config.txt", 'r', encoding='utf-8') as f:
    18         file = f.read()
    19         result = file.format(server, weight, maxconn)
    20         print(file)
    21         print("=================" * 4)
    22 
    23     with open("config.txt", 'w', encoding='utf-8') as f:
    24         f.write(result)
    25         print(result)
    26 
    27 
    28 def dele():
    29     '''
    30    删除一条数据
    31    :return: 
    32    '''
    33     # u_input = input("Please input del data:")
    34     add_list = []
    35     with open('config.txt', 'r')as f:
    36         print("config files:")
    37         for item in f.readlines():
    38             print("
    %s" % item.strip("
    "))
    39 
    40         file = input("
    
    请输入需要删除的行数据:")
    41         f.seek(0)
    42         for item in f.readlines():
    43             if item.strip() != file.strip():
    44                 add_list.append(item)
    45 
    46     with open('config.txt', 'w', encoding='utf-8') as f:
    47         f.writelines(add_list)
    48         print("
    
    删除行:'%s'
    完成!!!" % file.strip())
    49 
    50 
    51 if __name__ == '__main__':
    52     num = int(input("请选择数字:
    【1】添加一条数据
    【2】删除一条数据
    "))
    53     if num == 1:
    54         add()
    55     elif num == 2:
    56         dele()
  • 相关阅读:
    Java Web学习笔记之---EL和JSTL
    Java Web学习笔记之---Servlet
    Java Web项目案例之---登录注册和增删改查(jsp+servlet)
    Java项目案例之---加法计算器(转发和重定向)
    Java Web项目案例之---登录和修改(JSP)
    Java Web学习笔记之---JSP
    Java项目案例之---定时器的使用
    Java项目案例之---常用工具类练习
    Java学习笔记之---API的应用
    这些年我对安全成熟度模型的一点点思考
  • 原文地址:https://www.cnblogs.com/l729414559/p/6836321.html
Copyright © 2011-2022 走看看