python-15-常用文件操作与注册登录练习
前言
1、常用的文件操作无非就是读或写,但python中没有提供文件修改的功能,是无法实现,但我们可以新增-删除源文件-更改新增文件为源文件名称。
2、使用文件的存储与读取方式来简单完成注册、登录功能,需求如下:
1.注册,设置的账号密码用文件存储;
2.登录,读取账号密码判断,错误三次机会并提醒;
一、新增-删除源文件-更改新增文件为源文件名称
1、文件内容如下,需要将“欣欣”修改为“小龙”。

2、运用os模块,删除源文件、更改新文件名称为源文件名称即可。(感觉就像修改文件一样)
f = open('log1', encoding='utf-8')
f1 = open('log1.bak', 'w+', encoding='utf-8')
with f, f1:
for i in f:
if '欣欣' in i:
i = i.replace('欣欣', '小龙') # 更改为小龙
f1.write(i) # 写入f1文件中
import os
os.remove('log1') # 删除源文件
os.rename('log1.bak', 'log1') # 更改文件名称

3、查看文件是已经更改了(实际上是新增了一个文件)

二、注册登录练习:
# 注册
while 1:
user = input("请输入你的手机号进行注册:")
pwd1 = input('请设置你的登录密码:')
pwd2 = input('请再次输入设置登录的密码:')
if pwd1 == pwd2:
with open('user', 'w', encoding='utf-8') as f:
f.write('%s\n%s' % (user, pwd1))
print('恭喜您:%s 账号注册成功!' % user)
break
elif pwd1 != pwd2:
print('两次输入的密码不一致,请重新输入')
# 三次机会登录
lis = []
count = 3
while 1:
u = input('请输入你的账号:')
p = input('请输入你的密码:')
# 读取账号密码
with open('user', 'r+', encoding='utf-8') as user_pwd:
for i in user_pwd:
lis.append(i)
if u == lis[0].strip() and p == lis[1].strip():
print('登录成功')
break
else:
if count == 0:
print('你的密码已被锁定')
break
else:
print('账号或密码错误,剩余%s次机会' % count)
count = count - 1

当然你有更好的办法欢迎留言交流!!!欢迎来QQ交流群:482713805
python-15-常用文件操作与注册登录练习的更多相关文章
- python 历险记(三)— python 的常用文件操作
目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...
- Python之常用文件操作
Python之常用文件操作
- 真香!Python十大常用文件操作,轻松办公
日常对于批量处理文件的需求非常多,用Python写脚本可以非常方便地实现,但在这过程中难免会和文件打交道,第一次做会有很多文件的操作无从下手,只能找度娘. 本篇文章整理了10个Python中最常用到的 ...
- Python入门篇-文件操作
Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- python os&shutil 文件操作
python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...
- Python的高级文件操作(shutil模块)
Python的高级文件操作(shutil模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让我们用python的文件处理来进行文件拷贝,想必很多小伙伴的思路是:使用打开2个 ...
- Unix/Linux常用文件操作
Unix/Linux常用文件操作 秘籍:man命令是Unix/Linux中最常用的命令,因为命令行命令过多,我相信每个人都会经常忘记某些命令的用法,man命令就可以显示一个命令的所有选项,参数和说明, ...
- python学习之路-3 初始python数据类型以及文件操作
本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
随机推荐
- npm 使用过程中报错问题-及npm使用
原文地址:https://blog.csdn.net/u013022210/article/details/77740519 1.以下为报错具体详情:node 8.1.2 版本问题:其他空间安装成功但 ...
- Node.js实现图片上传功能
node接口实现 const express = require('express') const mysql = require('mysql') const cors = require('cor ...
- vue之前端鉴权
vue项目前端鉴权方式常用的有以下三种: 1.渲染菜单时控制模块按钮的显示隐藏(不足:直接输入链接仍然可以访问模块) 2.在路由导航守卫中拦截,针对没有权限的模块进行重定向(不足:每次访问模块都需要鉴 ...
- PHPStudyLite启动不成功怎么办
点击环境端口检测 有端口打开则关闭 一切正常后重新开启
- iOS 为何使用runtime方法交换多次后却能按照交换顺序依次执行代码逻辑?
题目: 假设我们有一个ViewController, Category A(ViewController), Category B(ViewController), Category C(ViewCo ...
- 038.[转] JVM启动过程与类加载
From: https://blog.csdn.net/luanlouis/article/details/40043991 Step 1.根据JVM内存配置要求,为JVM申请特定大小的内存空间 ? ...
- 成功安装SQL Server实例后 无法找到SQL Server Configuration Manager工具的解决方案
有一次成功安装SQL Server实例后 ,但是在所有程序中无法找到SQL Server Configuration Manager工具,以下步骤是我们当时的解决方案.最后成功将这个工具的转移到了桌面 ...
- 11.JavaCC官方入门指南-例6
例6:计算器--添加括号.一元运算符和历史记录 1.calculator3.jj 我们只需要再添加一些特色,就可以得到一个可用的四则运算计算器.在这一版的修改中 ,我们将使得程序可以接收括号.负值 ...
- Jenkins实现单一安卓项目打包多个module填坑实录
今天接手一个任务,已有项目结构上新添加了一个module,这个module打包工作需要在Jenkins上添加一个方便测试点击的打包工程 因为之前已有现成的打包工程,我直接新建了一个工程并且复制原有工程 ...
- Gaussian field consensus论文解读及MATLAB实现
Gaussian field consensus论文解读及MATLAB实现 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 一.Introduction ...