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 ( ...
随机推荐
- Qt 5.9.1 连 MYSQL 5.7数据库
Qt程序报错: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQ ...
- poj 2185
http://poj.org/problem?id=2185 题意:求最小的模式块,使其无限扩展后包含给你的矩阵块(看别人题解才懂的题意): 分析:假设存在一个模式块可以满足上述条件,那么必然存在一个 ...
- 关于PHP 时区错误的问题
php的ini文件中时区配置默认为关闭状态 这会导致调用时间函数时出错,所以要开启时区并且配置自己的时区: 查询手册找到所有的时区有: 所以修改配置为: 重启apache问题解决
- 【bzoj3570】 Cqoi2014—通配符匹配
http://www.lydsy.com/JudgeOnline/problem.php?id=3507 (题目链接) 题意 给出一个主串,里面有些通配符,'*'可以代替任意字符串或者消失,'?'可以 ...
- 解题:NOI 2014 购票
题面 观察一下部分分,我们发现链上的部分分是这样一个DP: $dp[i]=min(dp[i],dp[j]+dis(i,j)*p[i]+q[i])(dis(i,j)<=lim[i]\&\& ...
- 【agc003D】Anticube
Portal --> agc003D Description 给你\(n\)个数,要从里面选出最多的数满足这些选出来的数中任意两个数的乘积都不是立方数 Solution (为什么感觉最近这种解法 ...
- MVC中数据验证
http://www.studyofnet.com/news/339.html http://www.cnblogs.com/kissdodog/archive/2013/05/04/3060278. ...
- 目标检测应用化之web页面(YOLO、SSD等)
在caffe源码目录下的examples下面有个web_demo演示代码,其使用python搭建了Flask web服务器进行ImageNet图像分类的演示. 首先安装python的依赖库:pip i ...
- C++ std::allocator<T> 与new对比效率使用
基础知识通道:http://blog.csdn.net/Xiejingfa/article/details/50955295 C/C++: #include <iostream> #inc ...
- QT 设置菜单图标
目录 一.添加主窗口菜单 二.添加菜单图标 三.添加资源文件 四.使用资源文件 五.使用代码来添加菜单和图标 正文 一.添加主窗口菜单 1.新建Qt Gui应用,项目名称为myMainWind ...