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__(), ...
随机推荐
- 分析下为什么spring 整合mybatis后为啥用不上session缓存
因为一直用spring整合了mybatis,所以很少用到mybatis的session缓存. 习惯是本地缓存自己用map写或者引入第三方的本地缓存框架ehcache,Guava 所以提出来纠结下 实验 ...
- QT编程环境搭建
使用QT需要QT的库以及QT creator,在QT5以后的版本中,两者已经集成,不需要单独下载了,只需要下载一个文件即可.配置步骤如下: 1.下载qt-opensource-windows-x86- ...
- 初学jQuery之jQuery事件与动画
今天我们就谈谈jquery中的事件和简单动画吧,它们毕竟基础是进阶华丽的根本!! 1.事件 1.window事件 ready 准备就绪 2.鼠标事件 方法 ...
- [Selenium With C#学习笔记] Lesson-01环境搭建
Step-1:准备所需的开发环境.浏览器驱动.Selenium-Webdriver.单元测试框架,因目前使用C#的开发神器都Visual Studio,本文也打算采用Visual Studio 201 ...
- 2017-2-24 C#基础 for循环的嵌套
用几个练习题演示一下for循环的嵌套 1.打印以下图形 ★★★★★★★★★★★★★★★ namespace _2017_2_24_for循环的嵌套 { class Program { static v ...
- php 实现购物车功能,以大苹果购物网为例,上图上代码。。。。
首先是几个简单的登录页面 <body> <form action="chuli.php" method="post"> <div ...
- 2017-3-10 SQL server 数据库 T--SQL语句
创建数据库:create datebase 数据库名 注:数据库名不能为中文,不能数字开头,不能符号开头. 删除数据库:drop datebase 数据库名 创建表:create tab ...
- 从depth buffer中构建view-space position
观察透视投影矩阵: 对于x和y,矩阵变换只是一个缩放系数,那么逆变换就是缩放系数的倒数,所以 设Xndc Yndc为NDC空间中的XY坐标,Xview Yview Zview为view space中的 ...
- C#:判断100--999之前的水仙花数
//判断100--999之前的水仙花数.水仙花数举例:153=13+53+33. using System;public class Program { public static void ...
- Binary Tree Paths leetcode
Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...