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
  • 相关阅读:
    C# 使用SqlBulkCopy类批量复制大数据 快速导入Excel大量数据
    Git的安装与使用
    未能加载文件或程序集“Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。
    Android SDK Manager不能显示所有包的解决办法
    editor多功能文本框在有些计算机上不能正常加载,解决方法,本人用的是把js调用方法放到<body></body>后面)
    MVC URL参数传递+变为空格解决方法
    SQL 查询不重复数据
    Java基本数据类型取值范围
    统计数组中的逆数对个数
    Docker 安装 ElasticSearch
  • 原文地址:https://www.cnblogs.com/ch2020/p/12383387.html
Copyright © 2011-2022 走看看