前言

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. DialogHost 关闭对话框

    <Window x:Class="DialogHost.ClosingConfirmation.CodeBehind.MainWindow" xmlns="http ...

  2. 如何使用coe_load_sql_profile.sql来固定sql profile

    SQLT工具包含一个脚本,名字是 coe_load_sql_profile.sql,下面以用户SCOTT的EMP表为例,说明如何使用该脚本固定sql profile. 1. SQL> -- 对e ...

  3. redis实现分布式锁--工具类

    1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  4. 学习java需要英语很好吗?

    学习java需要英语很好吗? 编程语言起源于美国,是由英文构成的,其中包括几十个英文的关键字以及几百个英文的函数,除非需要对文本进行处理,否则一般不会出现中文.但是,它们都是孤立的单词,不构成任何语句 ...

  5. Ubuntu16.04 GTX750安装CUDA9.0,Pytorch,Anaconda教程

    Ubuntu16 GTX750安装CUDA9.0,Pytorch,Anaconda教程 安装前警告 不要使用Ubuntu18! 不要使用Ubuntu18! 不要使用Ubuntu18! 务必重装成Ubu ...

  6. Java 添加Word目录的2种方法

    目录是一种能够快速.有效地帮助读者了解文档或书籍主要内容的方式.在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表.本文中生成目录分2种情况来进行: 1.文档没有设置大纲级 ...

  7. InfluxDB从原理到实战 - 一篇文章搞懂InfluxDB时区

    0x00 简介    InfluxDB默认以UTC时间存储并返回时间戳,当接收到一个时序数据记录时,InfluxDB将时间戳从本地时区时间转换为UTC时间并存储,查询时,InfluxDB返回的时间戳对 ...

  8. Python中7个不一样的代码写法

    打印index 对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法: 更优雅的写法是多用enumerate 两个序列的循环 我们会经常对两个序列进行计算或 ...

  9. console的各种输出格式

    console.log('%c',CSS样式)输出css样式 console.log('%s',字符串) 字符串格式化 %d%i 整数格式化: console.log('%o',节点) 可扩展的dom ...

  10. Pycharm自带Git实现版本管理

    之前一直使用本地的git客户端,通过命令来上传.下载代码到Gitlab:每次都需要启动git客户端,敲git命令来完成,不够灵活,因为强大的Pycharm就自带git功能,可以直接在Pycharm完成 ...