展开全部

#我可以把我自己2113的成果送你,你来研究5261研究

import json #用来存储数据4102的模块

import os #用来进行文件操作1653

import sys #获取脚本所在目录用

import re #用来进行字符串操作

script_path = os.path.realpath(__file__)

PATH = os.path.dirname(script_path)

contents_list = []

if not os.path.exists(PATH+'\\'+'user_information'):

os.mkdir(PATH+'\\'+'user_information')

#主体函数,是主要的内容

def main(user_name):

obj = input('你现在想要干什么?\n1.新建一个文件 2.查看一个文件 3.更改密码 4.更改用户名\n')

if obj == '1':

file_name = input('请输入文件名(不用带后缀名):')

print('请输入文件内容(如果完成输入的话就新建一行,然后输入“输入已完成”并回车来完成输入,如:\n这是第一行\n这是第二行\n这是第\

三行\n这是文件的最后一行\n输入已完成\n\n请输入:')

while True:

contents = input()

if contents == '输入已完成':

break

else:

contents_list.append(contents)

with open(PATH+'\\'+user_name+'.mmwj','r') as f:

file_names = f.readlines()

if file_name+'\n' in file_names:

print('害!写了半天,你文件名还是重复了,害!')

input('按回车键退出……')

else:

with open(PATH+'\\'+user_name+'\\'+file_name+'.json','w') as f:

json.dump(contents_list,f)

with open(PATH+'\\'+user_name+'.mmwj','a') as f:

f.write(file_name+'\n')

print('已成功!')

input('按回车键退出……')

elif obj == '2':

with open(PATH+'\\'+user_name+'.mmwj','r') as f:

file_name_list = f.readlines()

temporary_file_name_list = []

for i in file_name_list:

i = re.sub('\"|\'','',i)

i = re.sub('\n','',i)

temporary_file_name_list.append(i)

file_name_list = temporary_file_name_list

if not file_name_list == []:

print('这是你存过的所有的文件的列表:')

for i in file_name_list:

print(i)

user_file_name = input('请输入你想要查看的文件的文件名(不用带后缀):')

if user_file_name in file_name_list:

with open(PATH+'\\'+user_name+'\\'+user_file_name+'.json','r') as f:

cont = json.load(f)

for i in cont:

print(i)

input('按回车键退出……')

else:

print('未找到此文件!')

input('按回车键退出……')

else:

print('空空如也……')

input('按回车键退出……')

elif obj == '3':

with open(PATH+'\\'+'user_information\\user_name_list.json','r') as n:

user_name_list_change = n.readlines()

tm_name_change = []

for i in user_name_list_change:

i = re.sub('\"\'','',i)

i = re.sub('\n','',i)

tm_name_change.append(i)

user_name_list_change = tm_name_change

with open(PATH+'\\'+'user_information\\user_password_list.json','r') as p:

user_password_list_change = p.readlines()

tm_password_change = []

for i in user_password_list_change:

i = re.sub('\"\'','',i)

i = re.sub('\n','',i)

tm_password_change.append(i)

user_password_list_change = tm_password_change

xyz = user_name_list_change.index('"'+user_name+'"')

old_right_password = user_password_list_change[xyz]

old_password = input('请输入旧密码:')

if '"' + old_password + '"' == old_right_password:

new_password = input('请输入新密码(不要带引号或中文!):')

user_password_list_change[xyz] = new_password

with open(PATH+'\\'+'user_information\\user_password_list.json','w') as np:

for i in user_password_list_change:

np.write('"'+i+'"'+'\n')

print('密码已更改!')

input('按回车键退出……')

else:

print('对不起,旧密码错误。')

input('按回车键退出……')

elif obj == '4':

with open(PATH+'\\'+'user_information\\user_name_list.json','r') as n:

user_name_list_change = n.readlines()

tm_name_change = []

for i in user_name_list_change:

i = re.sub('\"\'','',i)

i = re.sub('\n','',i)

tm_name_change.append(i)

user_name_list_change = tm_name_change

xyz = user_name_list_change.index('"'+user_name+'"')

new_name = input('请输入新用户名:')

if '"' + new_name + '"' in user_name_list_change:

print('用户名已存在。')

input('按回车键退出……')

else:

user_name_list_change[xyz] = '"' + new_name + '"'

os.rename(PATH+'\\'+user_name+'.mmwj',PATH+'\\'+new_name+'.mmwj')

os.rename(PATH+'\\'+user_name,PATH+'\\'+new_name)

with open(PATH+'\\'+'user_information\\user_name_list.json','w') as np:

for i in user_name_list_change:

np.write(i+'\n')

print('用户名已更改!')

input('按回车键退出……')

#注册函数

def sign_up():

user_name = input('请输入用户名(不要带引号或中文!):')

user_password = input('请输入密码(不要带引号或中文!):')

if user_name == 'user_information':

print('用户名无效!')

input('按回车键退出……')

if not os.path.exists(PATH+'\\'+'user_information\\user_name_list.json'):

with open(PATH+'\\'+'user_information\\user_name_list.json','w') as con:

json.dump(user_name,con)

con.write('\n')

with open(PATH+'\\'+'user_information\\user_password_list.json','w') as con:

json.dump(user_password,con)

con.write('\n')

os.mkdir(PATH+'\\'+user_name)

with open(PATH+'\\'+user_name+'.mmwj','w') as f:

pass

print('账户创建成功 !')

main(user_name)

else:

with open(PATH+'\\'+'user_information\\user_name_list.json','r') as f:

unsul = f.readlines()

if '"' + user_name + '"\n' in unsul:

print('用户名已存在。')

input('按回车键退出……')

else:

with open(PATH+'\\'+'user_information\\user_name_list.json','a') as con:

json.dump(user_name,con)

con.write('\n')

with open(PATH+'\\'+'user_information\\user_password_list.json','a') as con:

json.dump(user_password,con)

con.write('\n')

os.mkdir(PATH+'\\'+user_name)

with open(PATH+'\\'+user_name+'.mmwj','w') as f:

pass

print('账户创建成功 !')

main(user_name)

#内容函数

def content():

user_obj = input('请问你是想登录,还是想注册?(输入1或2):')

if user_obj == '1':

if not os.path.exists(PATH+'\\'+'user_information\\user_name_list.json'):

print('对不起,你现在还没有任何账户。')

yes_or_no = input('请问你要注册一个账户吗?(输入要或不要):')

if yes_or_no == '要':

sign_up()

if yes_or_no == '不要':

input('按回车键退出……')

else:

with open(PATH+'\\'+'user_information\\user_name_list.json','r') as n:

name_list = n.readlines()

temporary_name_list = []

for i in name_list:

i = re.sub('\"|\'','',i)

i = re.sub('\n','',i)

temporary_name_list.append(i)

name_list = temporary_name_list

with open(PATH+'\\'+'user_information\\user_password_list.json','r') as p:

password_list = p.readlines()

temporary_password_list = []

for i in password_list:

i = re.sub('\"|\'','',i)

i = re.sub('\n','',i)

temporary_password_list.append(i)

password_list = temporary_password_list

contrast = dict(zip(name_list,password_list))

user_name = input('请输入用户名:')

if user_name not in name_list:

print('未找到此用户名!')

input('按回车键退出……')

else:

password = input('请输入密码:')

xpassword = contrast[user_name]

if xpassword == password:

print('登录成功!')

main(user_name)

else:

print('密码输入错误。')

input('按回车键退出……')

elif user_obj == '2':

sign_up()

content()

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

python账号密码一一对应_python模拟用户登录系统,如何两个用户输入各自的密码才能登入?...相关推荐

  1. ubuntu20.04 使用root用户登录系统

    Ubuntu20.04安装完成之后,默认是没有root账户登录权限的,不过我们可以通过创建的普通用户获取管理员权限,然后修改配置和root账户的密码,最后实现登录root账户,具体操作步骤如下: 文章 ...

  2. 【Python养成】:案例(身高体重BMI值、模拟用户登录系统、键盘录入10个学生的成绩,计算出最高分、最低分和成绩总和、词频统计)

    案例题目:身高体重BMI值 计算成人身高体重指数BMI值.公式:bmi = 体重 / (身高 * 身高),体重的单位是千克,身高的单位是米 .键盘输入身高和体重值,计算bmi值,并根据结果对用户做出友 ...

  3. python登录系统的实现方法_python实现用户登录系统

    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1.使用python3执行程序.按提示输入1或2,登录或退出程序 2.输入用户名后,如果用户名被锁定及无效用 ...

  4. python用户登录_python用户登录系统

    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1.使用python3执行程序.按提示输入1或2,登录或退出程序 2.输入用户名后,如果用户名被锁定及无效用 ...

  5. python小型登录系统_python实现用户登录系统

    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1.使用python3执行程序.按提示输入1或2,登录或退出程序 2.输入用户名后,如果用户名被锁定及无效用 ...

  6. python做邮箱系统_python实现用户登录系统

    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1.使用python3执行程序.按提示输入1或2,登录或退出程序 2.输入用户名后,如果用户名被锁定及无效用 ...

  7. python实现登录功能编程_python实现用户登录系统

    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1.使用python3执行程序.按提示输入1或2,登录或退出程序 2.输入用户名后,如果用户名被锁定及无效用 ...

  8. Python模拟一个用户登录系统

    题目:模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 直接上代码: #模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 d=['yao','123456']while ...

  9. python系统-python实现用户登录系统

    本文实例为大家分享了用户登录系统python实现代码,供大家参考,具体内容如下 注意事项: 1.使用python3执行程序.按提示输入1或2,登录或退出程序 2.输入用户名后,如果用户名被锁定及无效用 ...

最新文章

  1. MIT公布“著名黑客之死”调查报告
  2. TensorFlow前向传播
  3. 《leetcode》first-missing-positive
  4. win7纯净版镜像系统安装教程
  5. SQL报错:Column count doesn‘t match value count at row 1
  6. 【kafka】kafka 数据重复的一个 案例
  7. 未来十年,小程序将消失!
  8. dagger2 注入_Android依赖注入– Dagger 2
  9. java mysql orm框架_JAVA-ORM框架整理➣Mybatis操作MySQL
  10. Syslog日志中心服务器收集windows和linux客户端日志
  11. Java版常用排序算法复杂度
  12. Python3+selenium+BaiduAI识别并下载花瓣网高颜值妹子图片
  13. 2009年最极品的冷笑话汇集!(超经典)
  14. Java 多线程设计模式
  15. d3dx9_42.dll缺少
  16. 记以ELK结合的Web日志数据采集心得整理
  17. 2019年6月4日 VIVO提前批笔试 题目3
  18. 荣耀智慧屏和荣耀智慧屏PRO的配置
  19. windows 进程监控 Procmon.exe
  20. ArcGIS基础知识之shape文件的构成

热门文章

  1. 针对新手的Java EE7和Maven项目-第2部分-为我们的应用程序定义一场简单的战争
  2. jvm分配内存_为JVM分配内存:一个案例研究
  3. java实现metro风格_Metro风格的Java组合框(JMetro)–重新介绍
  4. Java EE 7中的资源和依赖注入
  5. Java 7:使用NIO.2进行文件过滤–第2部分
  6. 使用DynamoDBMapper扫描DynamoDB项目
  7. openshift 部署_OpenShift Express:部署Java EE应用程序(支持AS7)
  8. JMS和AWS SQS的更多高级内容
  9. 关于Servlet和异步Servlet
  10. 通过Spring Integration和RabbitMQ获得高可用性的AMQP支持的消息通道