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.模块 ...
随机推荐
- 创建Stream
1.创建Stream create Stream from Collections; create Stream from values; create Stream from Arrays; cra ...
- What is the difference between a URI, a URL and a URN?
资料: URI: URL: URN:
- [LeetCode] 272. Closest Binary Search Tree Value II 最近的二叉搜索树的值 II
Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...
- 【MM系列】SAP 根据采购订单创建外向交货单的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...
- 14.使用Crunch创建字典----Armitage扫描和利用----设置虚拟渗透测试实验室----proxychains最大匿名
使用Crunch创建字典 kali自带的字典 usr/share/wordlists cd Desktop mkdir wordlists cd wordlists/ crunch --help cr ...
- MySQL数据库的连接池问题
3. sqlalchemy设置连接池数量上限设置 SQLALCHEMY_POOL_SIZE = 100 SQLALCHEMY_MAX_OVERFLOW = 0 # 超出连接池数量的连接后,最多可以连接 ...
- Java基础语法-运算符
1算术运算符 1.1运算符和表达式 运算符:对常量和变量进行操作的符号. 表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式. 不同运算符链接的表达式体现的是不同类型的表达式 ...
- [Git] 017 加一条分支,享双倍快乐
0. 回顾 [Git] 009 逆转未来 中的 "2.2" 讲过 git checkout -- <file> 这回的 git checkout <branch_ ...
- 网络流 ISAP算法
网络流问题: 我自己理解,在流网络中,在不违背容量限制的条件下,解决各种从源点到汇点的问题. ISAP算法概念: 据说不会有卡ISAP时间的题目---时间复杂度O(E^2*V) 首先原理都是基于不断寻 ...
- GUI程序原理分析
1,Qt 是一套跨平台的程序设计库,这套程序设计库主要用于 GUI 方面的程序设计开发,所以本系列博文主要是利用C++介绍 GUI 程序设计技术: 2,命令行应用程序: 1,命令行应用程序的特点(Co ...