1、通用文件copy工具实现

with open("a.txt","r",encoding="utf-8") as f ,open("b.txt","w",encoding="utf-8") as f1:
f1.write(f.read())

2、基于seek控制指针移动,测试r+、w+、a+模式下的读写内容

r+

with open("b.txt","r+",encoding="utf-8") as f :
print(f.read())#输出文件全部内容,此时光标到末尾
f.seek(5,0)#把光标移动到第5个字节处
print(f.tell())
f.write("bbb")#覆盖原来的aaa为bbb,此时光标到第8个字节处
print(f.read())#从第8个字节读取剩余文件内容

w+

with open("b.txt","w+",encoding="utf-8") as f :
print(f.read())#w模式先会将文件清空,此时读不到文件,光标在开头
f.seek(5,0)#把光标移动到第5个字节处
print(f.tell())
f.write("bbb")#从第5个字节处写入bbb此时光标到第8个字节处
print(f.read())#从第8个字节读取剩余文件内容

a+

with open("b.txt","a+",encoding="utf-8") as f :
print(f.read())#a模式先会将光标移动到文件末尾,此时读不到文件内容
f.seek(5,0)#把光标移动到第5个字节处
print(f.tell())
f.write("bbb")#a模式在写入文件内容时会默认把光标移动到文件末尾
print(f.read())#从文件末尾读取剩余文件内容

3、tail -f access.log程序实现

import time
with open("b.txt","rb")as f :
f.seek(0,2)
while True:
line = f.readline()
if len(line)==0:
time.sleep(1)
else:
print(line.decode("utf-8"))
#新建另外一个py文件
with open("b.txt","a")as f:#先执行
f.write("aaaa")

最新文章

  1. Oracle学习笔记(二)
  2. android 处理302地址
  3. JS数字键盘
  4. jquery取消选择select下拉框
  5. [Java拾遗五]使用Session防止表单重复提交
  6. ASP.NET MVC5--添加验证
  7. Xcode 断点调试,取消直接进入到汇编语言界面处理
  8. SQLSERVER:计算数据库中各个表的数据量和每行记录所占用空间
  9. ServiceStack.Redis之IRedisClient
  10. 关于serialVersionUID的说明
  11. 强势围观,CSDN代码引用bug
  12. 申请安装阿里云免费SSL证书
  13. Centos 05 系统目录讲解
  14. mysql数据库和JDBC学习
  15. VI编辑器、ipython、jupyter及进程知识总结
  16. oc语言的Foundation框架(学习笔记1)
  17. jQuery获取点击对象的父级
  18. 惠普/aruba交换机
  19. 第十章 dubbo线程模型
  20. python的高级特性:切片,迭代,列表生成式,生成器,迭代器

热门文章

  1. 1.4 Spring 依赖注入(DI)和控制反转(IOC)详解
  2. Verifying dml pool data
  3. 『图论』LCA 最近公共祖先
  4. Python进阶——详解元类,metaclass的原理和用法
  5. 上海开发票/v电13543443967
  6. 微信小程序-返回并更新上一页面的数据
  7. 如何解决jeecgBoot前端运行项目之后无法获取验证码的问题
  8. mysql事务的坑----MyISAM表类型不支持事务操作
  9. Python 分布式缓存之Reids数据类型操作
  10. SpringBoot项目jar包启动脚本