Python全栈开发第13天
#多用户登录 import getpass #引用getpass
import os #引用os
import configparser #引用配置文件操作的库 count = 0
count_other = 0
while True:
if os.path.exists('./user.conf'): #判断user.conf用户是否存在
user_name = input("please input your username:") #输入用户名
user_pass = getpass.getpass("please input your password:") #输入密码
cp = configparser.ConfigParser() # 加载现有配置文件
cp.read("./user.conf")
li = cp.get('user', 'user').split(',') #将用户名放入列表li中
if user_name in li: #判断用户是否在列表中
password = cp.get( user_name , 'password')
status = int(cp.get( user_name , 'status'))
if password == user_pass:
if status == 3 :
print("Your username is locked!Please contact your administrator ")
break
else:
print("Welcome to my system!!!")
break
else:
print("You input the username or password is wrong ,please try agin!!")
status = int(status) + 1
cp.set(user_name , 'status',str(status) )
with open('user.conf', 'w') as fw:
cp.write(fw)
if status == 3:
print("Your username is locked!Please contact your administrator ")
break else:
print("You input the username or password is wrong ,please try agin!!")
count_other = count_other + 1
if count_other == 3 :
break
continue
else:
conf = configparser.ConfigParser()
# 写入配置文件
conf.add_section('user') #添加section
# 添加值
conf.set('user', 'user', 'jimmy,aaa,bbb')
conf.add_section('jimmy')
conf.set('jimmy', 'password', 'aaa')
conf.set('jimmy', 'status', '0')
conf.add_section('aaa')
conf.set('aaa', 'password', 'aaa')
conf.set('aaa', 'status', '0')
conf.add_section('bbb')
conf.set('bbb', 'password', 'bbb')
conf.set('bbb', 'status', '0')
# 写入文件
with open('./user.conf', 'w') as fw:
conf.write(fw)
Python是一门什么类型的语言:
编译型语言,把明文的代码执行前,先转成二进制,在执行,这个过程就叫编译;(c,c++,go)
特点:运行效率高;依赖编译平台,linux操作系统跟cpu的交互结构与Windows不是完全一样的(例如linux:print_to_console,windos:print_to_screen);
缺点:不能跨平台,开发效率低
Python全栈开发第13天的更多相关文章
- 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda
一.今日内容总览 1.内置函数(1):并不是每一个内置函数都是那么常用 上菜:内置函数部分//思维导图:https://www.processon.com/view/link/5b4ee15be4b0 ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- Python全栈开发
Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...
- python全栈开发中级班全程笔记(第二模块、第四章(三、re 正则表达式))
python全栈开发笔记第二模块 第四章 :常用模块(第三部分) 一.正则表达式的作用与方法 正则表达式是什么呢?一个问题带来正则表达式的重要性和作用 有一个需求 : 从文件中读取所有联 ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂
Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...
- python全栈开发 生成器 :生成器函数,推导式及生成器表达式
python 全栈开发 1.生成器函数 2.推导式 3.生成器表达式 一.生成器函数 1.生成器: 生成器的本质就是迭代器 (1)生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(), ...
随机推荐
- java基础知识点---equal,==,hashcode
1.==比较对象之间的地址是否相同 student a=new student(1); student b=new student(1); a==b false b=a; a==b true ...
- uml系列(七)——交互图
交互图是uml中描述系统中的对象如何进行交互动作的 . 废话不多说,还是来张图: 概念 交互图,主要描述的是系统中的一组对象的消息的传递的,为对象间的交互定义了一个可视的表示方法. ...
- js实现菜单折叠导航
<style type="text/css"> <!-- *{margin:0;padding:0;border:0;} body { font-family: ...
- FTP与TFTP
文件传输协议如今有了很大的广泛,他屏蔽了计算机内部的实现细节,因为可以适用于各种计算机之间文件的传输. 文件咋网络中传输其实是一件很复杂的事情,涉及的问题有很多,比如 (1)计算机存储数据的格式不同 ...
- Alamofire源码解读系列(一)之概述和使用
尽管Alamofire的github文档已经做了很详细的说明,我还是想重新梳理一遍它的各种用法,以及这些方法的一些设计思想 前言 因为之前写过一个AFNetworking的源码解读,所以就已经比较了解 ...
- ant编译java的例子
ant hello world 建一上文件夹HelloWorld.里面的内容如下所示: 第一个例子不讨论build1.xml和HelloWorld1.java.运行出helloworld程序要如下步骤 ...
- 前端总结·基础篇·CSS(二)视觉
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·CSS(四)兼容 目录 一.动画(animation)(IE ...
- 基于CPS变换的尾递归转换算法
前言 众所周知,递归函数容易爆栈,究其原因,便是函数调用前需要先将参数.运行状态压栈,而递归则会导致函数的多次无返回调用,参数.状态积压在栈上,最终耗尽栈空间. 一个解决的办法是从算法上解决,把递归算 ...
- 用react分页显示数据
去年年底,尝试着用react写个组件化的页面! demo地址 里面有一个list页面弄了一下数据的分页展示 展示一下主要三个组件:父组件listBox.列表组件List.按钮组件PageButton ...
- CSS常用字体Unicode 编码
在 CSS 中设置字体名称,直接写中文是可以的.但是在文件编码(GB2312.UTF-8 等)不匹配时会产生乱码的错误. 为此,在 CSS 直接使用 Unicode 编码来写字体名称可以避免这些错误. ...