Python全栈开发第13天

时间:2023-01-14 07:49:11
#多用户登录                                                                                                                                      

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天的更多相关文章

  1. 巨蟒python全栈开发-第13天 内置函数 匿名函数lambda

    一.今日内容总览 1.内置函数(1):并不是每一个内置函数都是那么常用 上菜:内置函数部分//思维导图:https://www.processon.com/view/link/5b4ee15be4b0 ...

  2. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  3. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  4. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  5. Python全栈开发

    Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...

  6. python全栈开发中级班全程笔记(第二模块、第四章(三、re 正则表达式))

    python全栈开发笔记第二模块   第四章 :常用模块(第三部分) 一.正则表达式的作用与方法 正则表达式是什么呢?一个问题带来正则表达式的重要性和作用      有一个需求 : 从文件中读取所有联 ...

  7. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  8. 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂

    Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...

  9. python全栈开发 生成器 :生成器函数,推导式及生成器表达式

    python 全栈开发 1.生成器函数 2.推导式 3.生成器表达式 一.生成器函数 1.生成器: 生成器的本质就是迭代器 (1)生成器的特点和迭代器一样.取值方式和迭代器一样(__next__(), ...

随机推荐

  1. itrator控制迭代次数

    <s:iterator value="diys" status="d" begin="0" end="10" st ...

  2. Mac按键

    ⌘——Command ⌃ ——Control ⌥——Option (alt) ⇧——Shift ⇪——Caps Lock ⌫——Delete

  3. MSsql 服务器之间远程及其链接查询

    先指定端口1433(SQL,协议里面设置) 然后启用 菜单-程序-外围服务应用配置-服务和连接时外围应用配置 试试远程连接 成功连接OK 下面示例链接服务器.上面远程是必须走的一步动作. --创建链接 ...

  4. Ubuntu 安装字体

    将字体Copy到/usr/share/fonts/windows目录下,然后执行以下几条命令更新系统字体缓存: cd /usr/share/fonts/vista/ sudo mkfontscale ...

  5. sqlserver2008安装出现跨语言

    我在安装sqlserver2008的时候出现了一个问题,安装到一半的时候出现 跨语言安装失败 ,我细细的查了下问题,我装的安装语言绝对没有错的吧,然后我后退几步又是同样的错误,最后我把镜像重新加载到虚 ...

  6. Vim进阶命令

    1. 查找    /xxx(?xxx)       表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示                    向上查找.其中xxx可以是正规表达式, ...

  7. 机器学习——kNN(1)基本原理

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  8. 安卓开发-intent在Activity之间数据传递

    安卓开发-intent在Activity之间数据传递 [TOC] intent实现普通跳转 使用intent的setclass方法,示例(由此界面跳转到NewActivity界面) //使用setOn ...

  9. string&period;GetHashCode获取值不一样

    今天在使用程序时发现两个String.GetHashCode值不一样,通过测试 (1)程序在两台不同的计算机上运行,没有变化. (2)修改32位,64位,值有变化,说明GetHashCode和.net ...

  10. Linux命令&colon;unlias

    语法 unalias [-a] name [name ...] 说明 取消别名. 可以一次取消多个别名,写几个取消几个.不写,取消所有别名. 参数 -a 取消所有别名,不论后面是否跟一个还是多个nam ...