标签:重命名 data print 开头 fse wap 检测 class 模式
with open(‘aaa.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as f: res=f.read(4) print(res)
1.模式0:参照物是文件开头位置 f.seek(9,0) f.seek(3,0) # 3
2.模式1:参照物是当前指针所在位置 f.seek(9,1) f.seek(3,1) # 12
3.模式2:参照物是文件末尾位置,应该倒着移动 f.seek(-9,2) # 3 f.seek(-3,2) # 9
with open(‘aaa.txt‘,mode=‘rb‘) as f: f.seek(9,0) f.seek(3,0) # 3 # print(f.tell()) f.seek(4,0) res=f.read() print(res.decode(‘utf-8‘)) with open(‘aaa.txt‘,mode=‘rb‘) as f: f.seek(9,1) f.seek(3,1) # 12 print(f.tell()) with open(‘aaa.txt‘,mode=‘rb‘) as f: f.seek(-9,2) # print(f.tell()) f.seek(-3,2) # print(f.tell()) print(f.read().decode(‘utf-8‘))
#检测.py import time # 导入时间模块 with open(‘access.log‘, mode=‘rb‘) as f: # r模式会将指针跳到文件开头 # f.read() # 错误,不能逐行读取 f.seek(0,2) # 把指针移动到结尾 while True: line=f.readline() if len(line) == 0: time.sleep(0.3) else: print(line.decode(‘utf-8‘),end=‘‘) #输入.py with open(‘access.log‘, mode=‘at‘, encoding=‘utf-8‘) as f: # at为追加写模式 f.write(‘20200311111112 yyy转账200w\n‘)
张一蛋 山东 179 49 12344234523
李二蛋 河北 163 57 13913453521
王全蛋 山西 153 62 18651433422
执行代码: with open(‘a.txt‘,mode=‘r+t‘,encoding=‘utf-8‘) as f: res = f.read(9) # 读取前9个字符:张一蛋 山 print(res) f.seek(9,0) # 把指针移到第9个bytes f.write(‘<男妇女主任>‘) # 一个汉字对应3个bytes,此处共有3*5+2=17个bytes 执行后,a.txt中的内容 张一蛋<男妇女主任>9 49 12344234523 李二蛋 河北 163 57 13913453521 王全蛋 山西 153 62 18651433422
优点: 在文件修改过程中同一份数据只有一份
缺点: 会过多地占用内存
# 文件的读取 with open(‘c.txt‘,mode=‘rt‘,encoding=‘utf-8‘) as f: res=f.read() data=res.replace(‘alex‘,‘dsb‘) print(data) # 文件的写入 with open(‘c.txt‘,mode=‘wt‘,encoding=‘utf-8‘) as f1: f1.write(‘111‘)
优点: 不会占用过多的内存
缺点: 在文件修改过程中同一份数据存了两份
在c.txt中的内容: alex is sb sb is alex egon is hahahahah
执行文件 import os # 导入OS模块 with open(‘c.txt‘, mode=‘rt‘, encoding=‘utf-8‘) as f, open(‘.c.txt.swap‘, mode=‘wt‘, encoding=‘utf-8‘) as f1: for line in f: f1.write(line.replace(‘alex‘, ‘dsb‘)) # 把alex替换为dsb os.remove(‘c.txt‘) # 删除原文件 os.rename(‘.c.txt.swap‘, ‘c.txt‘) # 把临时文件重命名为原文件
执行后,c.txt中的内容 dsb is sb sb is dsb egon is hahahahah
标签:重命名 data print 开头 fse wap 检测 class 模式
原文地址:https://www.cnblogs.com/zhww/p/12982911.html