Python文件操作-文件的增删改查
需求:对文件进行增删改查
由于时间原因,本次代码没有增加任何注释,如有疑问,请联系编辑者:闫龙
其实我也是醉了,看着这些个代码,我脑袋也特么大了,没办法,大神说了,不让用新知识,只可以使用学过的,所以代码复用就不用说了,根本不可能了,希望大家可以看懂这些,别人啃着糟心,自己看着恶心的代码;
优化工作量很大,还未及时进行,还望各位海涵,谢谢!
# 编辑者:闫龙
import os;
Menu = ["查询","添加","修改","删除"]
while True:
for i in range(len(Menu)):
print(i+1,Menu[i]);
UserSelect = input("请选择您要操作的类型>>>:");
if (UserSelect == "") :
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 == ""):
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 == ""):
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 == ""):
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("删除成功");
Python文件操作-文件的增删改查的更多相关文章
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- C#操作Excel数据增删改查(转)
C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...
- C#操作Excel数据增删改查示例
Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
- sqlite数据库操作详细介绍 增删改查,游标
sqlite数据库操作详细介绍 增删改查,游标 本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code package com.example ...
- java操作数据库:增删改查
不多bb了直接上. 工具:myeclipse 2016,mysql 5.7 目的:java操作数据库增删改查商品信息 test数据库的goods表 gid主键,自增 1.实体类Goods:封装数据库数 ...
- SpringBoot操作MongoDB实现增删改查
本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...
- python manage.py shell 的增删改查
python manage.py shell 的增删改查 guoguo-MacBook-Pro:myblog guoguo$ python manage.py shell Python 3.5.1 ( ...
随机推荐
- [转帖]Beyond Compare如何进行二进制比较
Beyond Compare如何进行二进制比较 http://www.beyondcompare.cc/jiqiao/erjinzhi-bijiao.html 在使用Beyond Compare软件比 ...
- [转帖] 知乎: 为什么品牌机器里面的VTX都是关闭的..
为何品牌机BIOS中的硬件虚拟化都是默认关闭的? 知乎老狼原创: https://www.zhihu.com/question/40381254/answer/499617881 谢邀.先说结论, ...
- Inside Qt Series (全集,共十六篇,不同版本的Qt有不同的实现)
Inside Qt 系列 QObject这个 class 是 QT 对象模型的核心,绝大部分的 QT 类都是从这个类继承而来.这个模型的中心特征就是一个叫做信号和槽(signaland slot)的机 ...
- Qt4程序在windows平台下打包发布
一.打包成绿色版 将源码编译成release版,运行*.exe文件,提示缺少*.dll,在Qt安装目录中找到相应的dll文件(一般在bin目录下),将dll文件复制到exe文件目录下即可. 二.打包成 ...
- 【刷题】BZOJ 2049 [Sdoi2008]Cave 洞穴勘测
Description 辉辉热衷于洞穴勘测.某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好 ...
- HNOI/AHOI2018题解
作为一名高二老年选手来补一下我省去年的省选题. D1T1:寻宝游戏 按顺序给出\(n\)个\(m\)位的二进制数\(a_i\),再在最前方添一个\(0\), 给出\(q\)次询问,每次询问给出一个同样 ...
- 洛谷 P4301 [CQOI2013]新Nim游戏 解题报告
P4301 [CQOI2013]新Nim游戏 题目描述 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴. ...
- mysqlbinlog- 处理二进制日志文件的实用工具 学习笔记
参考 MySQL 5.5官方简体中文参考手册完美版 8.6 节 调用: shell> mysqlbinlog [option] log-files... mysqlbinlog支持下面选项: ...
- 解题:JSOI 2007 重要的城市
题面 考虑一个点$x$,如果某两个点$u,v$间的所有最短路都经过$x$,那么$x$肯定是重要的.这个题$n$比较小,所以我们直接跑floyd,在过程中记录 当发生松弛时,我们具体讨论: 如果这个长度 ...
- laravel queue 修改之后不生效的坑
其实官方文档有说,只是没看仔细. 正常情况下,修改 php 代码是不用重启什么东西的, 但是 laravel 中的 job 不一样, 如果不用 php artisan queue:restart,新 ...