前言

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-常用文件操作与注册登录练习的更多相关文章

  1. python 历险记(三)— python 的常用文件操作

    目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...

  2. Python之常用文件操作

    Python之常用文件操作

  3. 真香!Python十大常用文件操作,轻松办公

    日常对于批量处理文件的需求非常多,用Python写脚本可以非常方便地实现,但在这过程中难免会和文件打交道,第一次做会有很多文件的操作无从下手,只能找度娘. 本篇文章整理了10个Python中最常用到的 ...

  4. Python入门篇-文件操作

    Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...

  5. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  6. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...

  7. Python的高级文件操作(shutil模块)

    Python的高级文件操作(shutil模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果让我们用python的文件处理来进行文件拷贝,想必很多小伙伴的思路是:使用打开2个 ...

  8. Unix/Linux常用文件操作

    Unix/Linux常用文件操作 秘籍:man命令是Unix/Linux中最常用的命令,因为命令行命令过多,我相信每个人都会经常忘记某些命令的用法,man命令就可以显示一个命令的所有选项,参数和说明, ...

  9. python学习之路-3 初始python数据类型以及文件操作

    本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

随机推荐

  1. Tomcat乱码或异常

    一.控制台乱码 原因:Tomcat与Windows编码不一致导致 解决办法:首先找到conf/logging.properties文件,然后打开后找到“java.util.logging.Consol ...

  2. java 监听文件或文件夹变化

    今天遇到一个新需求,当从服务器下载文件后用指定的本地程序打开,不知道何时文件下载完成,只能考虑监听文件夹,当有新文件创建的时候打开指定程序. 在此给出一个完整的下载和打开过程: 1.下载文件 jsp页 ...

  3. mysql在本地已经启动,但是在网页上不能直接访问的解决

    1.将mysql文件下的my.ini中的路径代码 # 设置mysql的安装目录 basedir=E:/Develop/mysql # 设置mysql数据库的数据的存放目录 datadir=E:/Dev ...

  4. Redis安装部署以及简单应用

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(list ...

  5. java之Set接口(单列集合)

    Set接口概述 java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Coll ...

  6. vue介绍以及相关概念理解大全

    1.什么是vue 以官网的解释来说,vue是渐进式javascript框架.Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计 ...

  7. c++实现通讯录管理系统(控制台版)

    c++实现通讯录管理系统(控制台版) 此项目适合c++初学者,针对c++基础知识,涉及到变量.结构体定义使用.数组定义使用.指针定义使用等. 运行之后的结果如下: 代码: #include <i ...

  8. Linux中长时间运行程序的方法

    一.场景: 如果临时有一个命令需要长时间运行,比如 python hello.py ,什么方法能最简便的保证它在后台稳定运行呢?解决方法:      当用户注销(logout)或者网络断开时,终端会收 ...

  9. Redis在Window下的安装部署

    一.下载 由于redis官方不支持windows,所以需要在github上下载window的版本:下载地址.redis约定版次版本号(即第一个小数点后的数字)为偶数的版本是稳定版本(如2.8,3.0) ...

  10. linux创建用户并锁定用户目录和首次登陆强制修改密码

    1.     创建用户及访问目录 mkdir -p /home/user/testuser   创建用户目录 useradd testuser -d /home/user/testuser  -M   ...