Python基础部分:12、文件光标移动(补充)
2023-02-18 16:27:51 时间
一、文件内光标移动实际案例
# 1、二进制,只读模式,打a.txt文件
with open(r'a.txt', 'rb') as f:
# 2、将光标移动至字节末尾
f.seek(0, 2)
# 3、设置一个循环
while True:
# 4、遍历f文件
line = f.readline()
# 5、判断文件末尾是否写入新的字节
if len(line) == 0:
# 6、设置循环周期
time.sleep(0.5)
#、7、当上述条件不成立时执行以下功能
else:
# 8、当文件末尾写入新的数据时打印写入数据,并转换成字符串
print(line.decode('utf8'), end='')
二、计算机硬盘修改数据的原理
硬盘之所以能储存数据,是因为其盘片上有凹凸不平的存储介质,相当于人大脑的记忆细胞,把写入硬盘的数据记忆下来以供读取。
当我们把硬盘格式化后,这些存储介质并没有被抹平,只是改变了它的逻辑地址而已,当有新的数据写入的时候,它才会被覆盖掉,数据恢复软件也正是基于这一原理,突破操作系统的寻址和编址方式,把尚未被覆盖的数据收集起来保存到新的位置。
在我们往硬盘中写入数据后,当数据据中间需要修改时,这时候就需要抹除后重新写入,例如一段线条,我们没有办法将它从中间断开一样
三、文件内容修改
文件内容修改有两种方式
方式一、覆盖写
'''
将复制源文件中内容,局部修改后重新写入源文件
'''
# 1、修改文本中‘周日’为‘周一’
a.txt = 今天时周日,心情真不错
# 2、只读模式打开文本
with open(r'a.txt', 'r', encoding='utf-8') as f:
# 3、复制文本中内容
data = f.raed()
# 4、只写模式重新打开文本
with open(r'a.txt', 'w', encoding='utf-8') as f:
# 5、修改原先数据并复制到文本中
f.write(data.replace('周日', '周一'))
方式二、换地写
'''
现在另一个地方写好文件,将原文件删除后,将新文件命名成源文件
'''
import os
with open('a.txt', 'r', encoding='utf8') as read_f, \
open('.a.txt.swap', 'w', encoding='utf-8') as write_f:
for line in read_f:
write_f.write(line.replace('tony', 'kevinSB'))
os.remove('a.txt') # 删除a.txt
os.rename('.a.txt.swap', 'a.txt') # 重命名文件
相关文章
- 如何在windows下成功的编译和安装python组件hyperscan
- 教你一个快速视频处理的神器:Python moviepy
- 在Spark Scala/Java应用中调用Python脚本,会么?
- 教你如何在Spark Scala/Java应用中调用Python脚本
- 教你Python字符串的基本操作:拆分和连接
- 使用 Python Poetry 进行依赖管理
- 万字教你如何用 Python 实现线性规划
- 使用 scipy.fft 进行Fourier Transform:Python 信号处理
- Python enumerate():使用计数器简化循环
- Python 可以满足你任何 API 使用需求
- 填坑总结:python内存泄漏排查小技巧
- Python 中的反转字符串:reversed()、切片等
- 教你如何在Spark Scala/Java应用中调用Python脚本
- 【Python模块和包】模块含义、模块好处、模块分类、包和模块的创建
- Python 爬虫进阶必备 | 某网络广播电视台 header 加密参数逻辑分析
- Python 爬虫进阶必备 | 某应用榜单加密参数 analysis 加密逻辑分析
- Python 爬虫进阶必备 | 某 d 榜单数据请求参数 k 加密逻辑分析
- Python 爬虫进阶必备 | 某策网数据返回值 data 解密逻辑分析
- Python 爬虫进阶必备 | 某新闻网正文图片 data-src 解密逻辑分析
- 从零到熟悉,带你掌握Python len() 函数的使用