2019年5月1日 程序的解耦
import os def file_h(backend_data,res=None,type='search'): #程序耦合,文件处理功能 单独拿出来 if type=='search': with open ('test2','r') as read_test2: ret = [] tag=False for read_line in read_test2: if read_line.strip()==backend_data:#去除/n与/t tag=True continue#注意格式对齐 if read_line.startswith('backend') and tag: break if tag: # print(read_line,end='') #将所有下面的都打印出来 ret.append('%s\n'%read_line.strip()) return ret elif type=='change': with open('test2', 'r') as read_f, \ open('test3', 'w') as write_f: tag = False has_write = False for read_line in read_f: if read_line.strip() == backend_data: tag = True continue if tag and read_line.startswith('backend'): tag = False if not tag: write_f.write(read_line) else: if not has_write: for record in res: write_f.write(record) has_write = True # 用状态的变化控制流程 os.rename('test3', 'test2_new') # 更改文件名 def search(data): #查询 print('查询功能%s '%data) backend_data='backend %s'%data return file_h(backend_data) def add(data):#增加 print('增加功能=%s'%data) def change(data):#修改 # print('修改功能将更改为%s'%data) print('用户输入的是%s'%data) backend_data='backend %s'%data[0] res=search(data[0]) print('来自change函数查询到内容', res) if not res: return '查询到记录不存在' else: res.append(data[1] + '\n') print(res) res.insert(0, '%s\n' % backend_data) # 第一行增加backend sxj file_h(backend_data,res=res,type='change')
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步