2-用Python操作文件(下)

一、文件的修改

在上集中,有的方法也能修改文件,但是会有覆盖的问题出现,这主要跟硬盘的存储方式有关。

那怎么做到全局替换呢?

——不在硬盘里修改数据,打开文件后,先把文件的内容存放到内存中,在内存中修改,再把新内容写回硬盘。

二、全局修改实例

import sys  (导入sys模块)

old_str=sys.argv[1]

new_str=sys.argv[2]

filename=sys.argv[3]

第一步  读到内存

f=open(filename,"r+")

data=f.read()   (读到内存)

第二步  计算(替换几次)并替换

old_str_count=data.count(old_str)

new_data=data.replace(old_str,new_str)

第三步  清空文件

f.seek(0)

f.truncate  (截断文件的方法)

第四步  保存新内容

f.write(new_data)

print(f"成功替换字符'{old_str}'为'{new_str}',共{old_str_count}次")

三、应用

1.题目

用户登录认证

要求:(1)⽤户输⼊帐号密码进⾏登录(2)用户账号信息保存在保存在文件内(3)用户密码输错三次后锁定,再次登录后会检测出被锁定并给出提示

2.步骤

(1)确定存储账号信息的结构:用户名、密码、锁定状态(0-锁定  1-不锁定)

(2)将账户数据读取到内存中(为了方便调用,可以改成字典的形式)

(3)做一个循环,要求用户输入账号信息,去判断

  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值