用户的配置文件如下

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作业之修改用户配置文件的更多相关文章

  1. python作业day3修改配置文件

    思维还有点乱,撸代码到深夜,先上代码吧.(我是跟着武sir的思路的) 流程图: 代码(有注释): #!/usr/bin/env python # -*- coding:utf-8 -*- import ...

  2. python读写增删修改ini配置文件

    一,百度百科 .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的 ...

  3. xp默认安装路径及本地用户配置文件存放路径修改

    xp默认安装路径及本地用户配置文件存放路径修改 修改注册表可能会造成您的系统崩溃或数据丢失,请先行备份操作系统,以备不测!!! 备份注册表步骤: 1.在“桌面”上按快捷键“Ctrl+R”,调出“运行” ...

  4. python作业学员管理系统(第十二周)

    作业需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上课纪录对应多条学 ...

  5. python作业堡垒机(第十三周)

    作业需求: 1. 所有的用户操作日志要保留在数据库中 2. 每个用户登录堡垒机后,只需要选择具体要访问的设置,就连接上了,不需要再输入目标机器的访问密码 3. 允许用户对不同的目标设备有不同的访问权限 ...

  6. Python作业-选课系统

    目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...

  7. python作业ATM(第五周)

    作业需求: 额度 15000或自定义. 实现购物商城,买东西加入 购物车,调用信用卡接口结账. 可以提现,手续费5%. 支持多账户登录. 支持账户间转账. 记录每月日常消费流水. 提供还款接口. AT ...

  8. kafka实战教程(python操作kafka),kafka配置文件详解

    kafka实战教程(python操作kafka),kafka配置文件详解 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是 ...

  9. 【HOW】用PowerShell脚本修改用户配置文件属性显示次序

    首先将如下脚本保存为PowerShell文件,如:ReorderUserProfileProperty.ps1. 在执行此脚本时,如果不输入任何参数,将列出所有用户配置文件属性的名称和显示次序:如果只 ...

随机推荐

  1. [UE4]GameMode

    GameMode定义了正在玩的游戏规则,积分等方面,游戏中有些数据和逻辑不适合放在某一个对象身上,这些数据在整个游戏运行中腰持续存在的(比如:积分.排名). 每次游戏一启动,GameMode就被创建, ...

  2. JpGraph使用详解之中文乱码解决方法

    在前面的JpGraph使用详解这篇文章,已经对JpGraph的使用方法作了详细的交代,前面说好的,接下来解决中文乱码. JpGraph为什么会出现中文乱码 在JpGraph中默认是要把字符串转成utf ...

  3. Hive基础之排序

    order by 1.order by会对输入按照指定字段做全局排序,输出结果有序,因此只有一个reducer(多个reducer无法保证全局排序,手工设定reduce数量无效): 只有一个reduc ...

  4. Executor框架(六)CompletionService 接口

      CompletionService 接口是一个独立的接口,并没有扩展 ExecutorService . 其默认实现类是ExecutorCompletionService;   接口 Comple ...

  5. 手机app/h5页面http请求抓包调试

    1.抓包机器跟客户端手机连上同一wifi热点,最好是第三者提供的移动wifi,公司内网wifi网络访问有限制. 2.设置手机客户端http代理 三者关系图示:

  6. [Flutter] 一些面试可能会问基础知识

    1. Flutter 是什么? Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. Flutter可以与现有的代码一起工作.在全世界,Flutter正在被 ...

  7. c++官方文档-class

    #include <iostream> using namespace std; class Circle { double radius; public: Circle(double r ...

  8. sendkeys

    1)为了指定单一键盘字符,必须按字符本身的键.例如,为了表示字母 A,可以用 "A" 作为 string.为了表示多个字符,就必须在字符后面直接加上另一个字符.例如,要表示 A.B ...

  9. shelve模块使用说明

    一种字典形式储存数据的方式 import datetime, shelve d = shelve.open('shelve_test.txt') info = {'age':22, 'job':'it ...

  10. mysqldump之不老将

    –add-drop-database 每个数据库创建之前添加drop数据库语句.mysqldump -uroot -p –all-databases –add-drop-database –add-d ...