zoukankan      html  css  js  c++  java
  • 模拟博客园登陆(部分简单操作未加上)

    import os
    state=0
    name=""
    def wrapper(f):
    def inner(*args,**kwargs):
    if state==1:
    ret=f(*args,**kwargs)
    wel=ret[:3]+name+ret[3:]
    print(wel)
    return ret
    else:
    if login():
    ret = f(*args, **kwargs)
    wel = ret[:3] + name + ret[3:]
    print(wel)
    return ret
    elif register():
    ret = f(*args, **kwargs)
    wel = ret[:3] + name + ret[3:]
    print(wel)
    return ret
    return inner
    def goto(s):
    if s==1:
    login()
    elif s==2:
    register()
    elif s==3:
    article()
    elif s==4:
    comment()
    elif s==5:
    diary()
    elif s==6:
    collect()
    elif s == 7:
    logout()
    elif s == 8:
    leave()
    def users():
    dic={}
    with open(os.path.dirname(__file__) + '/userinfo',encoding="utf-8",mode="r+") as f:
    for i in f:
    dic[i.strip().split("|")[0]]= i.strip().split("|")[1]
    return dic
    def login():
    count=0
    while count<3:
    global name
    name=input("请输入用户名").strip()
    password=input("请输入密码").strip()
    dic=users()
    if name in dic and password==dic[name]:
    global state
    state = 1
    print("登陆成功")
    count=3
    return 1
    else:
    print("登陆失败")
    count+=1
    return 0
    def register():
    global name
    name = input("请输入用户名").strip()
    password = input("请输入密码").strip()
    with open(os.path.dirname(__file__) + '/userinfo',encoding="utf-8",mode="a+") as f:
    dic = users()
    if name in dic:
    print("用户名已存在")
    else:
    f.write(f" {name}|{password}")
    global state
    state=1
    print("注册成功")
    return 1
    @wrapper
    def article():
    print("直接写还是导入文件")
    choice = input().strip()
    if choice == "1":
    content = input().strip()
    with open(os.path.dirname(__file__) + '/create', encoding="utf-8", mode="a+") as f:
    f.write(content)
    elif choice == "2":
    content = input().strip()
    with open(content, encoding="utf-8", mode="r") as f1:
    with open(os.path.dirname(__file__) + '/ uploading', encoding="utf-8", mode="a+") as f:
    for i in f1:
    f.write(i)
    return "欢迎来到文章"
    @wrapper
    def comment():
    print(os.listdir(os.path.dirname(__file__) + "/article"))
    choice=input("请选择要评论的文章")
    comments=input("请输入你的评论")
    with open(os.path.dirname(__file__) +"/article/"+choice, encoding="utf-8", mode="a+") as f:
    f.write(f"{name} ")
    f.write(f"{comments} ")
    return "欢迎来到评论"
    @wrapper
    def diary():
    return "欢迎来到日记"
    @wrapper
    def collect():
    return "欢迎来到收藏"
    @wrapper
    def logout():
    print("登出")
    def leave():
    print("离开当前操作")
    print(
    '''
    1.请登录
    2.请注册
    3.进入文章界面
    4.进入评论界面
    5.进入日记界面
    6.进入收藏界面
    7.注销账户
    8.退出整个程序
    '''
    )
    a=int(input("请输入你要选择的操作").strip())
    goto(a)
  • 相关阅读:
    git 的分支体系命令汇总
    git命令行学习思路总结
    angular1.5版本的自我认识
    我最想去的公司啊 -- 幸福面试两小时
    【转】【Asp.Net MVC】asp.net mvc Model验证总结及常用正则表达式
    时间被序列化后的页面显示的问题
    JS组件Bootstrap实现弹出框和提示框效果代码
    Bootstrap组件之导航条
    Bootstrap学习笔记(四)-----Bootstrap每天必学之表单
    Bootstrap学习笔记(三)-----Bootstrap每天必学之表格
  • 原文地址:https://www.cnblogs.com/diracy/p/13125171.html
Copyright © 2011-2022 走看看