Python---进阶---常用模块os、jso
一、写一个6位随机验证码程序(使用 random模块),要求验证码中至少包含一个数字、一个小写字母、一个大写字母
import string
code.append(random.choice(string.ascii_uppercase)) # 保证验证码中有一个大写字母
code.append(random.choice(string.digits)) # 保证验证码中有一个数字
code.append(random.choice(string.ascii_lowercase+string.ascii_uppercase+string.digits))
print(code)
print(q_code)
---------------------------------------
二、写一个用户登录验证程序,文件如下1234.json
1234.json
{"expire_date":"2021-01-01","id":"1234","status":0, "pay_day":22, "password":"abc"}
- 用户名为json的文件名
- 判断是否过期,与expire_date做比较
- 登陆成功后打印登陆成功,三次登陆失败,status值改为1,并且锁定账号
-----------------------------------------------------------------
import time
import json
user = input("请输入用户名:")
f = user.strip()+'.json'
if os.path.exists(f):
fp = open(f, "r+", encoding="utf-8")
j_user = json.load(fp)
if j_user['status'] == 1:
print("账号已经锁定")
break
else:
expire_date = j_user['expire_date']
current_st = time.time()
expire_st = time.mktime(time.striptime(expire_dt, "%Y-%m-%d"))
if current_st > expire_st:
print("用户已经过期")
break
else:
while count < 3:
pwd = input("请输入密码: ")
if pwd.strip() == j_user['passwd']:
print("登陆成功")
exit_flag = True
break
else:
if count == 2:
print("用户登录已经超过3次,锁定账号")
j_user['status'] = 1
fp.seek(0)
fp.truncate() # 清空文件内容
json.dump(j_user, fp)
count += 1
if exit_flag:
break
else:
print("用户不存在")
count += 1
Python---进阶---常用模块os、jso的更多相关文章
- Python进阶--常用模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
- Python基础-常用模块OS
模块:一个python文件就是一个模块,模块分三种: 1,标准模块,也就是python自带的模块,例如import time,random,string等等 2,第三方模块,这种模块需要自己安装才能 ...
- python的常用模块之collections模块
python的常用模块之collections模块 python全栈开发,模块,collections 认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文 ...
- Python进阶----pymysql模块的使用,单表查询
Python进阶----pymysql模块的使用,单表查询 一丶使用pymysql 1.下载pymysql包: pip3 install pymysql 2.编写代码 ...
- Python进阶(八)----模块,import , from import 和 `__name__`的使用
Python进阶(八)----模块,import , from import 和 __name__的使用 一丶模块的初识 #### 什么是模块: # 模块就是一个py文件(这个模块存放很多相似的功能, ...
- python - 常用模块 os, sys
常用模块: os(处理文件和目录), sys(sys 模块包含了与 Python 解释器和它的环境有关的函数.) sys.argv 变量是一个字符串的 列表.特别地,sys.argv 包含了 命令行参 ...
- python之常用模块一(time、random、os、sys)
摘要:时间模块time .随机模块random .os模块.sys模块 一.时间模块 三种格式 时间戳时间:浮点数 单位为秒 时间戳起始时间: 1970.1.1 0:0:0 英国伦敦时间 1970.1 ...
- Python之常用模块(re,时间,random,os,sys,序列化模块)(Day20)
一.时间模块 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time() 获取当前时间戳 在Python中表示时间的三种方式:时间戳,元组(s ...
- [Python Day5] 常用模块
目录: 1.模块介绍 2.time & datetime 3.random 4.OS 5.sys 6.shutil 7.json & pickle 8.shelve 9.xml 处理 ...
- Python之路-python(常用模块学习)
模块介绍 time &datetime模块 random os sys shutil shelve xml处理 yaml处理 configparser hashlib re正则表达式 1.模块 ...
随机推荐
- mysql添加字段索引失败 BLOB/TEXT column 'col2' used in key specification without a key length
看了下该表的数据结构发现col2字段类型是text ,查询了下发现是:MySQL只能将BLOB/TEXT类型字段设置索引为BLOB/TEXT数据的钱N个字符.索引指定下col2的长度就可以了 : al ...
- 前端必须掌握的 nginx 技能(1)
概述 作为一个前端,我觉得必须要学会使用 nginx 干下面几件事: 代理静态资源 设置反向代理(添加https) 设置缓存 设置 log 部署 smtp 服务 设置 redis 缓存(选) 下面我按 ...
- SELECTION-SCREEN屏幕范例
1. SELECTIION-SCREEN的語法: SELECTION-SCREEN BEGIN OF SCREEN SCR....SELECTION-SCREEN END OF SCREEN SCR. ...
- MariaDB增删改
1.MariaDB 数据类型 MariaDB数据类型可以分为数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行, 尽量使用范围小的,而不用大的 常用的数据类型: 1.整数:int, bit( ...
- js 函数回调
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- jmeter应用之批量插入数据
上一篇讲到如何在jmeter中配置并连接使用mysql数据库,这一节主要是讲数据库连接的简单应用——批量插入数据 总体步骤如下: 1)新建线程组和添加JDBC Connection Configura ...
- 记一次有趣的JsonFormat不生效问题
dto中使用了JsonFormat注解,如图 然后再序列化时 objectMapper.writeValueAsString(printReceBillVO) 始终值是一个Long,最后发现是包引用错 ...
- P1162填涂颜色
这还是一个搜索题,难度较低,但我提交第三次才AC.. 观察0地图左上角的上面和左面都是一,所以先把他找粗来,然后设成start,然后dfs找到与他联通的块,涂成2即可.再说一下自己犯的低级错误:1.当 ...
- P1754球迷购票问题
这是一道动态规划题,其实也是个数论题. 有n人拿50,有n人拿100买票,必须让50元的人买,不然无法找零钱,问最多有几种方案可以每一次都买票成功.这个题首先令人想到搜索,但是随即发现dp是正解,于是 ...
- P1536村村通
这是一个并查集的题,被洛谷评为提高—. 拿到这个题便看出了这是一个裸的并查集,于是就写了一个模板,结果发现连输入都输不进去,一看竟然是多组数据,,然后看到N==0结束,于是便加了一层while.之后提 ...