1 2 3

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("\n%s" % item.strip("\n"))
39 
40         file = input("\n\n请输入需要删除的行数据:")
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("\n\n删除行:'%s'\n完成!!!" % file.strip())
49 
50 
51 if __name__ == '__main__':
52     num = int(input("请选择数字:\n【1】添加一条数据\n【2】删除一条数据\n"))
53     if num == 1:
54         add()
55     elif num == 2:
56         dele()

 

posted @ 2017-05-10 15:47  矜持小蝌蚪  阅读(1053)  评论(0编辑  收藏  举报
levels of contents