python作业之修改用户配置文件
用户的配置文件如下
backend oldboy
school school1 age 21 weight 210
qq 550176565 iphone 139987676
backend oldgirl
school school2 age 22 weight 220
backend oldteacher
school school3 age 23 weight 230
backend oldstudent
school school4 age 24 weight 240
作业要求:
1、实现查询用户信息
2、实现增加用户信息
3、实现删除用户信息
#Auther Bob
#--*--conding:utf-8 --*--
name_list = []
tmp_list = []
info_list = []
f = open("homeworkdb","r",encoding="utf-8")
for line in f:
if line.startswith("backend"):
tmp_list = (line.strip().split(" "))
# name_list.append(tmp_list[1])
# print(tmp_list)
name_list.append(tmp_list[1]) f.close()
flag = 0
# print(name_list)
while True:
option = int(input("1:查询用户信息\n2:删除用户信息\n3:增加用户信息\n4:退出\n"))
if option == 1:
name = input("please input name:")
if name in name_list:
with open("homeworkdb","r",encoding="utf-8") as f:
for line in f:
if flag == 0 and line.strip() == "backend " + name:
flag = 1
continue
if flag == 1 and not line.startswith("backend"):
info_list.append(line.strip())
if flag == 1 and line.startswith("backend"):
flag = 0
continue
print("%s的信息是:" %(name))
for info in info_list:
print(info)
info_list = []
else:
print("%s is not in list" %(name))
continue
elif option == 2:
name = input("please in name:")
if name in name_list:
with open("homeworkdb","r",encoding="utf-8") as f1,open("tmp","w",encoding="utf-8") as f2:
for line in f1:
if flag == 0 and line.strip() == "backend " + name:
flag = 1
continue
if flag == 1 and not line.startswith("backend"):
continue
if flag == 1 and line.startswith("backend"):
flag = 0
if flag == 0:
f2.write(line)
with open("homeworkdb","w",encoding="utf-8") as f1,open("tmp","r",encoding="utf-8") as f2:
for line in f2:
f1.write(line)
name_list.remove(name)
with open("homeworkdb","r",encoding="utf-8") as f1,open("tmp","w",encoding="utf-8") as f2:
for line in f1:
if line == "\n":
continue
else:
f2.write(line) with open("tmp","r",encoding="utf-8") as f1,open("homeworkdb","w",encoding="utf-8") as f2:
for line in f1:
f2.write(line)
else:
print("%s is not in list" %(name))
continue
elif option == 3:
name = input("please in name:")
if name in name_list:
print("%s is in list" % (name))
info = input("please input %s is information" % (name))
with open("homeworkdb" ,"r",encoding="utf-8") as f1:
for line in f1:
if flag == 0 and line.strip() == "backend " + name:
flag = 1
continue
if flag == 1 and not line.startswith("backend"):
info_list.append(line.strip())
if flag == 1 and line.startswith("backend"):
flag = 0
continue
# print(info_list)
if info in info_list:
print("%s is already exist" %(info ))
else:
with open("homeworkdb","r",encoding="utf-8") as f1,open("tmp","w",encoding="utf-8") as f2:
flag = 0
for line in f1:
# print(flag)
if flag == 0 and line.strip() == "backend " + name:
f2.write(line)
tmp_info =" " + info + "\n"
f2.write(tmp_info)
else:
f2.write(line)
with open("tmp","r",encoding="utf-8") as f1,open("homeworkdb","w",encoding="utf-8") as f2:
for line in f1:
f2.write(line)
else:
print("%s is not in list" %(name))
info = input("please input %s is information" % (name))
with open("homeworkdb","a",encoding="utf-8") as f1:
s1 = "\n" + "backend " + name
s2 = "\n" + " " + info
f1.write(s1)
f1.write(s2)
name_list.append(name)
elif option == 4:
exit()
else:
print("invalid input,please input[1|2|3|4]")
continue
python作业之修改用户配置文件的更多相关文章
- python作业day3修改配置文件
思维还有点乱,撸代码到深夜,先上代码吧.(我是跟着武sir的思路的) 流程图: 代码(有注释): #!/usr/bin/env python # -*- coding:utf-8 -*- import ...
- python读写增删修改ini配置文件
一,百度百科 .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的 ...
- xp默认安装路径及本地用户配置文件存放路径修改
xp默认安装路径及本地用户配置文件存放路径修改 修改注册表可能会造成您的系统崩溃或数据丢失,请先行备份操作系统,以备不测!!! 备份注册表步骤: 1.在“桌面”上按快捷键“Ctrl+R”,调出“运行” ...
- python作业学员管理系统(第十二周)
作业需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学 ...
- python作业堡垒机(第十三周)
作业需求: 1. 所有的用户操作日志要保留在数据库中 2. 每个用户登录堡垒机后,只需要选择具体要访问的设置,就连接上了,不需要再输入目标机器的访问密码 3. 允许用户对不同的目标设备有不同的访问权限 ...
- Python作业-选课系统
目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...
- python作业ATM(第五周)
作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...
- kafka实战教程(python操作kafka),kafka配置文件详解
kafka实战教程(python操作kafka),kafka配置文件详解 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是 ...
- 【HOW】用PowerShell脚本修改用户配置文件属性显示次序
首先将如下脚本保存为PowerShell文件,如:ReorderUserProfileProperty.ps1. 在执行此脚本时,如果不输入任何参数,将列出所有用户配置文件属性的名称和显示次序:如果只 ...
随机推荐
- xcode编译失败
iPhone自动化需要使用WDA.经过一段时间,再次编译,会出现WDA编译失败的问题,提示 The operation couldn't be completed. Unable to log in ...
- Maven 插件管理
偶然与巧合 舞动了蝶翼 谁的心头风起 前赴而后继 万千人追寻 荒漠唯一菩提 似擦身相遇 或擦肩而去 命运犹如险棋 无数时间线 无数可能性 终于交织向你
- System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效。
好久没写博客了,今天突然遇到个神奇的问题. 做好的网站在win10上和Windows sever 2012 上都没有问题,搬到Windows sever 2003上就出现了这么一个错误: Server ...
- php parse_str() 函数
php parse_str() 函数把查询字符串解析到变量中,主要用于页面之间传值(参数).本文章向码农介绍php parse_str() 函数的使用方法,感兴趣的码农可以参考一下. 定义和用法 pa ...
- git本地项目上传远程
Git的安装就不说了. 原文:https://blog.csdn.net/zamamiro/article/details/70172900 github官网说明: …or create a new ...
- python2 与python3中最大的区别(编码问题bytes&str
1,在python2.x 中是不区分bytes和str类型的,在python3中bytes和str中是区分开的,str的所有操作bytes都支持 python2 中 >>> s = ...
- vue&webpack多页面配置
前言 最近由于项目需求,选择使用vue框架,webpack打包直接使用的vue-cli,因为需要多页面而vue-cli只有单页面,所以就决定修改vue-cli的配置文件来满足开发需求. html-we ...
- 可视化学习Tensorboard
可视化学习Tensorboard TensorBoard 涉及到的运算,通常是在训练庞大的深度神经网络中出现的复杂而又难以理解的运算.为了更方便 TensorFlow 程序的理解.调试与优化,发布了一 ...
- 0_Simple__simpleStreams
对比使用单流和多流(4条)情况下数据拷贝,以及数据拷贝加内核调用的效率差别.▶ 源代码 #include <stdio.h> #include <cuda_runtime.h> ...
- redis详解(一)-- 概述
首先,分布式缓存框架 可以 看成是nosql的一种 (1)什么是redis? redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的 ...