zoukankan      html  css  js  c++  java
  • 更改文件,某一行

     1 def fetch(data):
     2     print('这是查询功能')
     3     tag = False
     4     data = 'aaaa %s\n'%data
     5     res_data = []
     6     with open('bbb','r',encoding='gbk') as file:
     7         for i in file:
     8             if i == data:
     9                 tag = True
    10                 continue
    11             if tag == True and i.startswith('aaa'):
    12                 break
    13             if tag == True:
    14                 res_data.append(i)
    15                 print(i)
    16     return res_data
    17 def add():
    18     pass
    19 def delete():
    20     pass
    21 def change(data):
    22     print('你要更改的数据是%s'%data)
    23     old_addr =data[0]['backend']
    24     old_to = "        server  %s  98798  %s\n"%(data[0]['record']['server'],data[0]['record']['98798'])
    25     need_to = "        server  %s  98798  %s\n"%(data[1]['record']['server'],data[1]['record']['98798'])
    26     res = fetch(old_addr)
    27     print(res)
    28     if old_to in res:
    29         a = res.index(old_to)
    30         res[a] = need_to
    31         res.insert(0,'aaaa %s\n'%old_addr)
    32         tag = False
    33         write_or = True
    34         old_addr2 = 'aaaa %s'%old_addr
    35         with open('bbb','r') as old_file,\
    36                 open('bbb_new','w') as new_file:
    37             for backend in old_file:
    38                 if backend.strip() == old_addr2:
    39                     tag = True
    40                     continue
    41                 elif backend.startswith('aaaa'):
    42                     tag = False
    43                 if not tag:
    44                     new_file.write(backend)
    45                 if tag and write_or:
    46                     for i in res:
    47                         new_file.write(i)
    48                     write_or = False
    49 
    50     else:
    51         print('没有要修改的数据')
    52     return '更改成功'
    53 
    54 if __name__ =="__main__":
    55     msg = '''
    56     1:查询
    57     2;增加
    58     3:删除
    59     4:更改
    60     5:退出'''
    61     func_list = {
    62         '1':fetch,
    63         '2':add,
    64         '3':delete,
    65         '4':change
    66     }
    67     while True:
    68         print(msg)
    69         choice = input("请输入需要选择的功能:")
    70         if not choice: continue
    71         if choice =='5':break
    72         data = input('请输入数据:')
    73         if choice != '1':
    74             data = eval(data)
    75         ress = func_list[choice](data)
    76         print(ress)
    77 输出:
    78     1:查询
    79     2;增加
    80     3:删除
    81     4:更改
    82     5:退出
    83 请输入需要选择的功能:4
    84 请输入数据:[{'backend':'www.asia.com','record':{'server':'jdfjsk','98798':'sajdfkjahskjf'}},{'backend':'www.asia.com','record':{'server':'aaaaa','98798':'bbbbbb'}}]
    85 你要更改的数据是[{'backend': 'www.asia.com', 'record': {'server': 'jdfjsk', '98798': 'sajdfkjahskjf'}}, {'backend': 'www.asia.com', 'record': {'server': 'aaaaa', '98798': 'bbbbbb'}}]
    86 这是查询功能
    87         server  jdfjsk  98798  sajdfkjahskjf
    88 
    89         server  jdfjsdsk  98798  sajdfksasjahskjf
    90 
    91         server  jdfsdjsk  98798  sajdfksdjahskjf
    92 
    93         server  jdfxcjsk  98798  sajdfkjsaahskjf
    94 
    95         server  jdfjsxck  98798  sajdfkxxzjahskjf
    96 
    97 ['        server  jdfjsk  98798  sajdfkjahskjf\n', '        server  jdfjsdsk  98798  sajdfksasjahskjf\n', '        server  jdfsdjsk  98798  sajdfksdjahskjf\n', '        server  jdfxcjsk  98798  sajdfkjsaahskjf\n', '        server  jdfjsxck  98798  sajdfkxxzjahskjf\n']
    98 None
  • 相关阅读:
    绝对路径和相对路径
    基本的文件操作
    Python2和3字符编码区别
    java开发两年了,连个java代理模式都摸不透,你怎么跳槽涨薪?
    【建议收藏】阿里P7总结的Spring注解笔记,把组件注册讲的明明白白
    面试官:你说你精通SpringBoot,你给我说一下类的自动装配吧
    面试BAT问的最多的27道MyBatis 面试题(含答案和思维导图总结)
    Springboot 框架整理,建议做开发的都看看,整理的比较详细!
    直面秋招!非科班生背水一战,最终拿下阿里等大厂offer!
    写的太细了!Spring MVC拦截器的应用,建议收藏再看!
  • 原文地址:https://www.cnblogs.com/ch2020/p/12383387.html
Copyright © 2011-2022 走看看