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新手学习基础之函数-概念与定义
什么是函数? 函数是可以实现一些特定功能的方法或是程序,简单的理解下函数的概念,就是你编写了一些语句,为了方便使用,把这些语句组合在一起,给它起一个名字,即函数名.使用的时候只要调用这个名字,就可以实 ...
随机推荐
- python 安装pymssql
error: command 'gcc' failed with exit status 1 ---------------------------------------- Command &quo ...
- spring远程服务知识梳理
序:本文主要是总结和归纳spring的远程服务相关知识,可作为入门学习笔记.写博客目的也是为了进行知识梳理,便于以后查看.本文主要参考资料 spring 实战第三版 本文主要讨论内容如下: 远程调度概 ...
- BAT等公司必问的8道Java经典面试题,你都会了吗?
工作多年以及在面试中,我经常能体会到,有些面试者确实是认真努力工作,但坦白说表现出的能力水平却不足以通过面试,通常是两方面原因: 1.“知其然不知其所以然”.做了多年技术,开发了很多业务应用,但似乎并 ...
- Linux下安装 mongodb
1.下载 去官网 https://www.mongodb.com 找到对应版本的mongodb 的下载地址 这样的: https://fastdl.mongodb.org/linux/mongodb ...
- MT【163】运动是相对的
如图,在平面直角坐标系中,$P(6,8)$,四边形$ABCD$为矩形,$AB=16$,$AD=9$,点$A,B$分别在射线$OP$和$Ox$上,求$OD$的最大值_______ ...
- Spring Security OAuth 个性化token
个性化Token 目的 默认通过调用 /oauth/token 返回的报文格式包含以下参数 { "access_token": "e6669cdf-b6cd-43fe-a ...
- 【bzoj3122】 Sdoi2013—随机数生成器
http://www.lydsy.com/JudgeOnline/problem.php?id=3122 (题目链接) 题意 对于一个数列${X_i}$,其递推式为:${X_{i+1}=(a*X_i+ ...
- 设置Linux终端字体颜色
系统启动后,环境变量加载的顺序为:/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → /etc/bashrc 想要修改 ...
- 解题:CF983A Finite or not
题面 一个$b$进制最简分数是有限循环小数当且仅当其分母没有与$b$不同的质因子,小学数奥内容水过 #include<cstdio> #include<cstring> #in ...
- python之旅:函数基础
一.引子 1.函数是什么 用函数与不用函数 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需要找出所有实现该功能的地方修改之,无法统一 ...