Python文件操作-文件的增删改查
需求:对文件进行增删改查
由于时间原因,本次代码没有增加任何注释,如有疑问,请联系编辑者:闫龙
其实我也是醉了,看着这些个代码,我脑袋也特么大了,没办法,大神说了,不让用新知识,只可以使用学过的,所以代码复用就不用说了,根本不可能了,希望大家可以看懂这些,别人啃着糟心,自己看着恶心的代码;
优化工作量很大,还未及时进行,还望各位海涵,谢谢!
# 编辑者:闫龙 import os; Menu = ["查询","添加","修改","删除"] while True:for i in range(len(Menu)):print(i+1,Menu[i]);UserSelect = input("请选择您要操作的类型>>>:");if (UserSelect == "1") :TitlesDic = {};count = 0;with open("haproxy.conf", mode="r+", encoding="utf8") as ConfFile:ConfRead = ConfFile.readlines();for i in ConfRead:if (not i[0].isspace()):count += 1;TitlesDic[count] = {};TitlesDic[count][i.strip()] = "";Titles = i.strip();else:TitlesDic[count][Titles] += i;for i in TitlesDic.keys():k = list(dict(TitlesDic[i]).keys())[0]print(i,k);UserSelect = input("请选择您要查询的字段>>>:");for i,j in dict(TitlesDic[int(UserSelect)]).items():print(i+"\n",j);if(UserSelect == "2"):print("目前只能针对bakend字段进行添加操作")bakend = {}com = "backend\t"+input("请输入域名:") + "\n"bakend[com] ="";bakend[com] +=("\tserver\t"+input("Server:")+"\t");bakend[com] +=("weight\t"+input("weight:") + "\t");bakend[com] +=("maxconn\t"+input("maxconn:") + "\n");with open("haproxy.conf",mode="a+") as ConfFile:for i,j in bakend.items():ConfFile.writelines(i+j);print("添加成功!")if(UserSelect == "3"):print("目前只能针对backend www.oldboy20.org字段进行修改操作")bakend = {}WriteDic = {};com = "backend\t"+input("请输入域名:")bakend[com] ="";bakend[com] +=("\tserver\t"+input("Server:")+"\t");bakend[com] +=("weight\t"+input("weight:") + "\t");bakend[com] +=("maxconn\t"+input("maxconn:") + "\n");with open("haproxy.conf", mode="r+", encoding="utf8") as ConfFile:ConfRead = ConfFile.readlines();for i in ConfRead:if (not i[0].isspace()):Titles = i.strip();WriteDic[Titles] ="";else:WriteDic[Titles] += i;with open("haproxy.conf_new",mode="w+",encoding="utf8") as WriteNewFile:WriteDic.pop("backend www.oldboy20.org")WriteDic.update(bakend);for i,j in WriteDic.items():WriteNewFile.writelines(i+"\n"+j);os.rename("haproxy.conf","haproxy.conf_bak");os.rename("haproxy.conf_new", "haproxy.conf");print("修改成功!")if(UserSelect == "4"):TitlesDic = {};WriteDic = {};count = 0;with open("haproxy.conf", mode="r+", encoding="utf8") as ConfFile:ConfRead = ConfFile.readlines();for i in ConfRead:if (not i[0].isspace()):count += 1;TitlesDic[count] = {};TitlesDic[count][i.strip()] = "";Titles = i.strip();WriteDic[Titles] ="";else:TitlesDic[count][Titles] += i;WriteDic[Titles] += i;for i in TitlesDic.keys():k = list(dict(TitlesDic[i]).keys())[0]print(i, k);UserSelect = input("请选择您要删除的字段>>>:");with open("haproxy.conf_new",mode="w+",encoding="utf8") as WriteNewFile:WriteDic.pop(list(dict(TitlesDic[int(UserSelect)]).keys())[0])for i,j in WriteDic.items():WriteNewFile.writelines(i+"\n"+j);os.rename("haproxy.conf","haproxy.conf_bak");os.rename("haproxy.conf_new", "haproxy.conf");print("删除成功");
转载于:https://www.cnblogs.com/DragonFire/p/6671389.html
Python文件操作-文件的增删改查相关推荐
- 怎么用php操作mysql删除数据库代码_如何使用php操作mysql的增删改查?
php操作mysql的增删改查方法:1.插入语句[insert into 数据表名(字段1,字段2,....) values("值1","值2",..)]:2. ...
- C#操作Excel数据增删改查(转)
C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...
- 【node】Sequelize常用操作、基本增删改查
[node]Sequelize常用操作.基本增删改查 sequelize初始化 先初始化一个数据库实例 再初始化一个model实例 sequelize的数据类型 基本增删改查的写法 SELECT * ...
- SpringBoot操作MongoDB实现增删改查
本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...
- jdbc链接mysql按照id查询_使用jdbc连接并操作Oracle数据库(增删改查IDUS)
使用jdbc连接并操作Oracle数据库(增删改查IDUS) [oracle@zaibei-db ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Pro ...
- eggjs增删改查MySQL,nodejs操作mysql实现增删改查
首先需要安装mysql模块:npm install mysql –save 然后创建user数据表: 接着使用nodejs对数据库进行增删改查: //引入mysql模块 var mysql = req ...
- nodejs mysql 增删改查_nodejs操作mysql实现增删改查的实例
首先需要安装mysql模块:npm install mysql --save 然后创建user数据表: 接着使用nodejs对数据库进行增删改查: .[活动]2017 CSDN博客专栏评选 [评论送书 ...
- python制作一个密码簿_[python]制作密码薄,完成增删改查和文件存储功能。
题目: 1)用文本编辑器编写一个密码簿文本文件,每一行格式为:姓名,密码 2)编写Python代码,提示:输入文件名,输入文件名后提示:查找,增加,删除,修改,保存 3)选择查找,输入姓名,提示&qu ...
- Python FastAPI 框架 操作Mysql数据库 增删改查
2 比 1 更容易理解,可以先看2(单文件级别) 1.FastAPI 框架 操作Mysql数据库(项目多文件级别) FastAPI 可以使用任何您想要的关系型数据库. 在这里,让我们看一个使用着SQL ...
- 记一些Python(Pymysql)建表、增删改查等基础操作(小白适用)
1.读取sql文件创建数据表 有一个形如下图的sql文件,使用python读取文件并在数据库中创建所有的表. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知 ...
最新文章
- 弃 Windows 而拥抱 Linux 之后,这本书教了新玩法
- (0069)iOS开发之dequeueReusableCellWithIdentifier的两个方法的区别
- android double比较大小吗,Android双向选择控件DoubleSeekBar使用详解
- Java客户端操作elasticsearch--查询索引库(带分页)
- 【转】关于维生素的那些事
- Unix Vi 命令详解
- 修改 jtable 显示格式
- 企业数字化转型需注意什么
- php对接小程序获取表单,PHP实现微信小程序用户授权的工具类
- react刷新页面_【跟着官网学React】Hello World
- 如何复制或导出托管磁盘
- Linux中在终端启动anaconda
- 使用python爬取行政区划
- 计算机的内存时序参数,装机用户须知:电脑内存时序基础知识
- python免费使用谷歌翻译的方法
- C++面向对象程序设计——简单的商品销售题
- Python实现定时发送监控邮件
- 内网虚拟机静态IP设置VMWare内网通外网不通把某一网段白名单虚拟机ping不通主机虚拟机桥接改成非192.168网段服务器与电脑直连共享wifi
- Attention!当推荐系统遇见注意力机制
- 迅猛快捷——基于Gtid搭建Mysql主从,gtid实现主从切换自动同步——@$23$人鱼的眼泪
热门文章
- javascript --- 作用域和闭包
- Hyper-v Server 2012 Release Candidate 部署体验
- nginx的502错误及常见解决方法汇总
- 如何在Django模板中注入全局变量
- “Unamed VM”无法初始化 0x80070539
- Java学习总结 16个亮点
- C#:向C++封送结构体数组
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
- try、catch、finally 和 throw-C#异常处理
- HALCON示例程序inner_rectangle1.hdev木板有效区域提取