前言

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. ESP8266源码分析--打印的基本用法

    缘由: 物联网小芯片中,很多都不是特别复杂,绝大多数问题都需要靠串口打印就能定位的.所以,串口打印是一个非常靠谱的玩意.一定要好好的利用.ESP8266的打印模板设计的特别好,这里我就列出来,供大家参 ...

  2. SpringBoot入门(简单详细教程)

    Spring Boot 简介 简化Spring应用开发的一个框架:整个Spring技术栈的一个大整合:J2EE开发的一站式解决方案: 微服务 martin fowler:微服务:架构风格(服务微化): ...

  3. Difference between JDK, JRE and JVM

    With Java programming language, the three terms i.e. JDK, JRE and JVM will always be there to unders ...

  4. C#函数(构造函数)的重载

    using System; namespace test { class Program { static void Main(string[] args) { Cat cat = new Cat() ...

  5. windows 使用 curl 命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...

  6. socket之线程来提高吞吐量

    线程demo: 线程: package com.company.s5; import java.io.InputStream; import java.io.InputStreamReader; im ...

  7. [javascript string] slice();substr();substring();之间的区别

    今天遇到这个问题,发现ぜんぜんわすねまます3个方法,直接上代码吧,[网络版本较多就不注明参考过哪些了 -0- ] var test = 'hello world'; //均一位参数测试 console ...

  8. Html5 Canvas动画基础碰撞检测的实现

    在Canvas中进行碰撞检测,大家往往直接采用游戏引擎(Cocos2d-JS.Egret)或物理引擎(Box2D)内置的碰撞检测功能,好奇的你有思考过它们的内部运行机制吗?下面将针对基本的碰撞检测技术 ...

  9. SQL,case ziduan when ziduan_value then 'result'

    case a.sex when 0 then '女' when 1 then '男' else '其他' end as sex 当a表的性别字段的value为0时将查询的value转换成 '女',当字 ...

  10. GitHub最强技术面试手册:Tech Interview Handbook

    摘要: 求职还是需要认真准备的. 原文:超实用技术面试手册,从工作申请.面试考题再到优势谈判,GitHub获30000星 作者:量子位 技术人员求职面试,单刷leetcode上的大厂题库可能还不够. ...