Python练习-函数(方法)的定义和应用
需求:对文件进行增删改查,使用函数调用的方式完成操作
# 编辑者:闫龙
import MyFuncation;
Menu = ["查询","添加","修改","删除"]
while True:
for i in range(len(Menu)):
print(i+1,Menu[i]);
UserSelect = input("请选择您要操作的类型>>>:");
if (UserSelect == "") :
MyFuncation.SelectConf();
elif(UserSelect == ""):
MyFuncation.InsertConf();
elif(UserSelect == ""):
MyFuncation.UpdateConf();
elif(UserSelect == ""):
MyFuncation.DeleteConf();
elif(UserSelect.upper() == "Q"):
break;
程序主文件调用函数
# 编辑者:闫龙
import os
import time
def SelectConf():
"查询haproxy.conf中指定字段的内容"
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);
UserSelectTwo = input("请选择您要查询的字段>>>:");
for i, j in dict(TitlesDic[int(UserSelectTwo)]).items():
print(i + "\n", j); def InsertConf():
"在haproxy,conf中追加一段内容"
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("添加成功!") def UpdateConf():
"修改haproxy.conf中的指定内容"
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" + time.strftime("%Y%m%d%H%M%S"));
os.rename("haproxy.conf_new", "haproxy.conf");
print("修改成功!") def DeleteConf():
"删除haproxy.conf中的指定内容"
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);
UserSelectTwo = input("请选择您要删除的字段>>>:");
with open("haproxy.conf_new", mode="w+", encoding="utf8") as WriteNewFile:
WriteDic.pop(list(dict(TitlesDic[int(UserSelectTwo)]).keys())[0])
for i, j in WriteDic.items():
WriteNewFile.writelines(i + "\n" + j);
os.rename("haproxy.conf", "haproxy.conf_bak" + time.strftime("%Y%m%d%H%M%S"));
os.rename("haproxy.conf_new", "haproxy.conf");
print("删除成功");
定义的函数集合
Python练习-函数(方法)的定义和应用的更多相关文章
- Python列表函数&方法
Python包含以下函数: 序号 函数 1 cmp(list1, list2)比较两个列表的元素 2 len(list)列表元素个数 3 max(list)返回列表元素最大值 4 min(list)返 ...
- 【Python】[函数] 调用与定义
1.数据类型转换 int(),float(),str(),bool('1')2.定义函数使用 def关键字,依次写出 函数名.括号.括号中的参数.冒号,然后在缩进体中写函数内容 例子 求绝对值的函数 ...
- Python入门 - 函数方法
本节主讲python函数的基本用法,主要包括传递参数.匿名函数和变量作用域. 一.传递参数 python除了传递必需参数外,还可以传递默认参数,不定长参数和关键字参数. 1. 传递必需参数 def m ...
- AmIBeingDebugged 函数方法的定义实现
#include <assert.h> #include <stdbool.h> #include <sys/types.h> #include <unist ...
- python 中函数参数传递形式
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- Go 函数方法
在 Go 语言中,函数和方法不太一样,有明确的概念区分.其他语言中,比如 PHP 函数就是方法,方法 就是函数,但在 Go 语言中,函数是不属于任何结构体.类型的方法,也就是说函数是没有接收者的:而方 ...
- Python常用函数记录
Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...
- python中函数的定义和详细的使用方法
1. 函数的概念,函数是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 2. 函数的作用,使用函数可以加强代码的复用性,提高程序编写的效率 3. 函数的使用,函数必须先创建才 ...
- Python新手学习基础之函数-概念与定义
什么是函数? 函数是可以实现一些特定功能的方法或是程序,简单的理解下函数的概念,就是你编写了一些语句,为了方便使用,把这些语句组合在一起,给它起一个名字,即函数名.使用的时候只要调用这个名字,就可以实 ...
随机推荐
- JS 随机整数
<script> function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random() ...
- Mysql 5.7 报错 3534 错误
需要先 执行 mysqld --initialize 然后 mysqld --install 最后 net start mysql 即可启动服务 如果不执行第一步 则会报错
- using关键字
声明导入名称空间 处理实现了IDisposeable的对象,并在作用域末尾调用Dispose方法
- js小功能记录
个人日常中遇到的js小功能记录,方便查看. /** * 判断是否包含字符串某字符串 * @param {[type]} str [被检测的字符串] * @param {[type]} substr [ ...
- springmvc+mybatis 处理图片(二):显示图片
数据库及配置文件等参考:springmvc+mybatis 处理图片(一):上传图片思路:把图片二进制信息写入到HttpServletResponse 的outputStream输出流中来显示图片.一 ...
- Spring、MyBatis和SpringMVC整合的jar包下载
spring mvc的jar包下载:http://repo.springsource.org/libs-release-local/org/springframework/spring/我下载的5.0 ...
- C语言中变量名及函数名的命名规则与驼峰命名法
一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error ...
- 自定义样式,使用浏览器阅读epub格式的电子书
epub格式的电子式一般用专门的阅读器打开,但是如果可以使用浏览器打开,就可以随意更改css了,获得极致的体验效果. 比如可以自定义字体.行间距.背景色.字体大小.缩进等等... 当然,如果您不需要添 ...
- BZOJ 3524 Couriers | 主席树
BZOJ 3524 Couriers 题意 求一个区间内出现超过区间长度的一半的数,如果没有则输出0. 题解 我可能太菜了吧--这道题愣是没想出来-- 维护权值主席树,记录每个数都出现过多少次: 查询 ...
- POJ.1067 取石子游戏 (博弈论 威佐夫博弈)
POJ.1067 取石子游戏 (博弈论 威佐夫博弈) 题意分析 简单的威佐夫博弈 博弈论快速入门 代码总览 #include <cstdio> #include <cmath> ...