python在化工模拟中的应用_python完成模拟博客园登陆
importos#登录状态
status_dic ={'username': None,'status': False
}
flag=True#用户名,密码 以字典形式打开
defuser_pwd():
with open("user", encoding="utf-8") as f:
dic={}for i inf:
li= i.strip().split("|")
dic[li[0].strip()]= li[1]returndic#登录函数
deflogin():
u_p=user_pwd()
count=0while count < 3:
username= input("请输入姓名:").strip()
password= input("请输入密码:").strip()if username in u_p and password ==u_p[username]:
status_dic["username"] =username
status_dic['status'] = True #状态改为True
print("登陆成功")returnTrueelse:print("账号或密码错误,请重新登录")
count+= 1
#注册函数
defregister():while 1:
dict1=user_pwd()
username= input("请输入新账号:").strip()
password= input("请输新入密码:").strip()if username in dict1: #判断用户是否在文件中存在
print("用户名已存在,请重新输入")continue
elif not username.isalnum(): #判断用户是否是字母或数字组成
print("账号含有非法字符,请重新输入")continue
elif 5 < len(password) < 15: #限制密码在6-14位之间
with open("user", encoding="utf-8", mode="a") as f1:
f1.write(username+"|"+password+"\n")print("恭喜!注册成功")returnTrueelse:print("密码不合规范,请重新输入")#装饰器
def auth(f): #限制3-7选项,没有登陆不能访问
def inner(*args, **kwargs):if status_dic["status"]:
ret= f(*args, **kwargs)returnretelse:print("-------登录页面-------")
login()
ret= f(*args, **kwargs)returnretreturninner
@authdefarticle():print(f'欢迎{status_dic["username"]}访问文章页面')print("""1.写入文件
2.导入md文件""")while 1:
choice= input("请输入要选择的操作:").strip()if choice == "1":
file_name= input("输入文件名:").strip()
content= input("请输入内容").strip()
with open(r'article/'+file_name, encoding="utf-8", mode="a") as f1:
f1.write(content)print("写入文章成功")break
if choice == "2":
with open("函数的进阶.md", encoding="utf-8") as f2,\
open(r"article/"+"函数的进阶.text", encoding="utf-8", mode="w") as f3:
f3.seek(0)for i inf2:
f3.write(i)print("导入文件成功")break
else:print("您输入的不合规范")
@authdefdiary():print(f'欢迎{status_dic["username"]}访问日记页面')
@authdefcomment():print(f'欢迎{status_dic["username"]}访问评论页面')
file= os.listdir(os.path.dirname(__file__)+'/article') #把article文件夹里的文件,变成列表形式
for index, obj in enumerate(file, 1): #循环列表
print(index, obj)while 1:
choice= input("请输入要评论的文章的序号:").strip()ifchoice.isdigit():
choice=int(choice)if 0 < choice <= len(file): #限制用户输入序号的范围
path = os.path.join(os.path.dirname(__file__)+'/article', file[choice-1]) #拼接路径,找到该文件
with open(path, encoding="utf-8", mode="r+") as f1:
ret=f1.read()print(ret)
content= input("请输入要评论的内容")
sensitive= ["苍老师", "东京热", "武藤兰", "波多野结衣"] #此列表为敏感字符
for i in range(len(sensitive)): #敏感字符替换等长度*
if sensitive[i] incontent:
content= content.replace(sensitive[i], '*' *len(sensitive[i]))if "-"*20 not in ret: #判断如果不在这里加上"评论区"三个字
f1.write("评论区:" + "\n" + "-"*20 + "\n" + f'{status_dic["username"]}:\n{content}' + "\n")print("评论成功")returnTrueelse: #否则直接写入评论
f1.write(f'{status_dic["username"]}:\n{content}' + "\n")print("评论成功")returnTrueelse:print("请选择正确的文章序号")else:print("输入内容含有非法字符")
@authdefenshrine():print(f'欢迎{status_dic["username"]}访问收藏页面')#注销
deflogin_out():
status_dic['username'] =None
status_dic['status'] =Falseprint('注销成功')#退出程序
defexit_program():globalflag
flag=Falsereturnflagdefrun():
choice_dict={1: login,2: register,3: article,4: diary,5: comment,6: enshrine,7: login_out,8: exit_program,
}whileflag:print('''欢迎来到博客园首页
1:请登录
2:请注册
3:文章页面
4:日记页面
5:评论页面
6:收藏页面
7:注销
8:退出程序''')
choice= input('请输入您选择的序号:').strip()ifchoice.isdigit():
choice=int(choice)if 0 < choice <=len(choice_dict):
choice_dict[choice]()else:print("您输入的超出范围")else:print("输入不合规范,重新输入")if __name__ == '__main__':
run()
python在化工模拟中的应用_python完成模拟博客园登陆相关推荐
- java输出当前时间_JAVA中获取当前系统时间 - Matrix54 - 博客园
JAVA中获取当前系统时间 - Matrix54 - 博客园 一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleD ...
- 利用装饰器模拟博客园登陆
要求: 项目分析:一.首先程序启动,页面显示下面内容供用户选择: 1.请登录2.请注册3.进入文章页面4.进入评论页面5.进入日记页面6.进入收藏页面7.注销账号8.退出整个程序 二.必须实现的功能: ...
- python的整数取反_整数取反 - yunduoyun - 博客园
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1].请根据这个假设,如 ...
- 一个可编辑与新增博客园文章的 Python 脚本
我的个人独立博客是基于 Hexo 搭建的,因为小站,Google 搜索引擎收录文章比较慢,还搜不到 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻 ...
- python贴吧发帖脚本-一个发布文章到博客园的 Python 脚本
我的个人独立博客是基于 Hexo 搭建的,因为小站,Google 搜索引擎收录文章比较慢,还搜不到 为了解决这个问题,希望把文章也顺便发布到博客平台博客园上.但不想每次手动复制粘贴,打算利用脚本实现, ...
- python爬虫如何模仿登录_python爬虫:两种方法模拟登录博客园
第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...
- python爬虫:两种方法模拟登录博客园
第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...
- python自动输入账号密码_Python如何基于selenium实现自动登录博客园
这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备: 本文章是使用 ...
- python博客项目评论_Python 爬虫入门——小项目实战(自动私信博客园某篇博客下的评论人,随机发送一条笑话,完整代码在博文最后)...
之前写的都是针对爬虫过程中遇到问题的解决方案,没怎么涉及到实际案例.这次,就以博客园为主题,写一个自动私信博客下的评论人员(在本篇留下的评论的同学也会被自动私信,如果不想被私信,同时又有问题,请私信我 ...
最新文章
- excel图表交互联动_如何使用高大上的多级联动交互式图表来分析人员结构?
- 深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章
- 【网址收藏】Fedora 34安装Wine、微信
- [JS]手写动画最小时间间隔设置
- Eclipse 使用 CodeMix 插件 开发 Vue.js
- Mycat_MySql更新数据库失败 --read-only
- python程序是怎么构成的_python程序的构成
- linux设备驱动 注册 命令6,Linux设备驱动程序学习----6.模块的参数
- Atitit 图像处理的摩西五经attilax总结
- phpcms二次开发摘要
- android 手机远程助手,安卓远程桌面软件
- 研究生毕业做软件测试,毕业研究生,转学软件测试月薪11K,会做选择的人生到底有多赚?...
- java中poi搜索工程_POI搜索简介
- 笔记本电脑热点显示正在断开连接,一直无法开启热点,inetsh winsock reset 命令重置可以解决
- SAP ABAP 标题左边 GOS文件菜单 自定义 CL_GUI_GOS_CONTAINER MENU Gos based menu GOS BUTTON
- 2021-03-26
- maven项目的pom.xml文件添加依赖
- 如何用Python和循环神经网络预测严重交通拥堵?
- 亚马逊后台网页提示HTTP Status 400 – Bad Request无法登陆的解决办法
- 测试手机速度的软件叫什么,怎样用手机测wifi网速 手机测网速用什么软件
热门文章
- iPhone 12使用“通过Apple登录”方法教程「iphone技巧」
- 用python制作二维码_使用python制作二维码
- hexo添加点击爆炸效果 duang duang duang
- 哪个dns服务器延迟最低,可以立即测出延迟最小的DNS
- python解析xml读取指定属性_python批量修改xml某些内容和属性
- java读取文件是乱码_java读取txt文件乱码解决方案
- nginx 负载均衡安装及升级步骤
- Variational Inference入门:variational bayesian EM
- win10 删除无用的bios引导
- 安卓平板隐藏虚拟按键_实现安卓设备虚拟按键隐藏和显示的方法和系统的制作方法...