python博客园_python博客园(模拟)

import os

import time

login_status={'name': None,'status': False

}

file_None= os.path.exists('test.txt') # 判断用户文件是否存在iffile_None:

passelse:

with open('test.txt', encoding='utf-8', mode='w') asfile_Create:

pass

with open('test.txt', encoding='utf-8', mode='r+') astest:

data=test.read()if len(data) == 0: # 判断文件是否为空

test.write('用户名 密码')

def login(f): # 登录加日志

def inner(*args, **kwargs):

num= 0

while num < 3:if login_status['status']: # 如果status=True则无需验证

with open('log.file', encoding='utf-8', mode='a') aslog_file:

ret= f(*args, **kwargs)

log_file.write('\n{}:{},执行了{}函数'.format(login_status['name'], time.strftime("%Y-%m-%d"), f))returnret # 用来返回一个值退出else:

print('清先登录')

username= input('请输入用户名')

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

with open('test.txt', encoding='utf-8') asf1:for i inf1:

new_list=i.strip().split() # 重文件中取出值以逗号分割 转换成listif username == new_list[0] and password == new_list[1]: # 判断用户以及密码

login_status['name'] =username

login_status['status'] =True # 为True时由上调用函数break

else:

num+= 1print('输入用户名或密码错误还有{}次机会'.format(3 -num))continue

else:

print('输入次数太多了请先注册。。。')returninner

def register(): # 注册

flag=Truewhileflag:

register_name= input('输入你注册的用户名')

register_pass= input('输入你注册的密码')

with open('test.txt', encoding='utf-8', mode='r') asfile1:for i infile1:

new_list2=i.strip().split()if register_name == new_list2[0]: # 判断注册的用户是否存在

print('用户已存在')break# 如果存在退出else:

with open('test.txt', encoding='utf-8', mode='a') asfile2:

file2.write('\n' + register_name + ' ') # 不存在则添加

file2.write(register_pass)

file2.close()

print('注册成功')break@login

def login_success():

print('欢迎来到登录界面')

@login

def article():

print('欢迎来到文章界面')

@login

def diary():

print('欢迎来到日记界面')

@login

def comment():

print('欢迎来到评论界面')

@login

def Collection():

print('欢迎来到收藏界面')

def Cancellation():

print('成功注销')

login_status['name'] =None

login_status['status'] =False

def byebye():

print('成功退出')returnexit()

dic= {1: login_success,2: register,3: article,4: diary,5: comment,6: Collection,7: Cancellation,8: byebye} # 把函数名定义成字典方便后面调用whileTrue:

str= '''##########欢迎来到博客园首页###########

1: {}2: {}3: {}4: {}5: {}6: {}7: {}8: {}'''.format('请登录','请注册','文章页面','日记页面','评论页面','收藏页面','注销','退出程序')

print(str)

Choice= input('输入你的选择')if Choice == '1':

passifChoice.isdigit():if '0' < Choice < '9':

dic[int(Choice)]()else:

print('输入超出范围,重新输入')else:

print('输入为非法字符')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值