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")

day12 作业的更多相关文章

  1. 老男孩Day12作业:RabbitMQ-RPC版主机管理程序

    一.作业需求 1.可以对指定机器异步的执行多个命令 例子: 请输入操作指令>>>:run ipconfig --host 127.0.0.0 in the call     tack ...

  2. Day12作业及默写

    1.整理今天的博客,写课上代码,整理流程图. 2.用列表推导式做下列小题 li=['alex','wusir','abds','meet','ab'] a. 过滤掉长度小于3的字符串列表,并将剩下的转 ...

  3. day12作业答案

    2.1 # lst=['asdgg','as','drtysr'] # lst2=[i.upper() for i in lst if len(i) >3 ] # print(lst2) # 2 ...

  4. day12作业

  5. s5_day12作业

    # day12作业: # 功能实现: # 一个文件夹中,存在多个文件,包括图片,视频,文本等等, # 遍历出时间在2017-06-05至2017-06-09这段时间内创建的所有文件.具体文件夹,自己创 ...

  6. day12 python作业:员工信息表

    作业要求: 周末大作业:实现员工信息表文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearc ...

  7. 实践作业3:白盒测试----总结与反思DAY12.

    ---恢复内容开始--- 阶段一:熟悉白盒测试方法 负责人:刘思佳 工作质量评价:用例设计详细,考虑到白盒测试基于代码,所以尽可能地覆盖更多的白盒测试方法,对系统可能存在的缺陷就更容易了解.对管理员和 ...

  8. python_way day12 RabbitMQ ,pymysql

    python_way day12 1.RabbitMQ 2.pymysql RabbitMQ 1.基本用法 """ producer """ ...

  9. python基础 Day12

    python Day12 生成器python社区,生成器与迭代器看成一种.生成器的本质就是迭代器. 区别:生成器是我们自己用python代码构建的数据结构.迭代器都是提供的,或者转化得来的. 获取生成 ...

随机推荐

  1. neo4j导入csv文件

    neo4j导入csv文件 关于neo4j的安装 官网和网上博客提供了n中安装的方法,这里不再赘述: 普通安装: https://cloud.tencent.com/developer/article/ ...

  2. String 的格式化

    使用场景 用于生成redis等key-value 结构的key的格式化,方便管理 eg: String.format(RedisKeys.PURCHASE_ADD_BABY_LOCK,form.get ...

  3. Ubuntu:E: Sub-process /usr/bin/dpkg returned an error code (1)

    Ubuntu系统安装软件时报以下错误: E: Sub-process /usr/bin/dpkg returned an error code (1) 解决: mv /var/lib/dpkg/inf ...

  4. 对于Python的GIL锁理解

    GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可 ...

  5. Android学习笔记基于回调的事件处理

    流程: 常见的回调方法: 代码示例: @Override public boolean onTouchEvent(MotionEvent event) { Toast.makeText(getAppl ...

  6. 关于单向循环链表的约瑟夫问题(Java实现)

    关于单向循环链表的约瑟夫问题(Java实现) 最近在学习链表时,遇到单向循环链表中的约瑟夫问题.在构建循环链表的代码上,我有一点很不理解,遂记录下来. Josephu问题为: 设编号为1, 2,.. ...

  7. vc6.0创建文件时,出现很多烫烫烫解决方法

    vc6.0创建文件时,出现很多烫烫烫烫解决方法 SWM2烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫.IA 如果项目文件放在桌面上 如:C:\Documents and Settings\txwtec ...

  8. jni 字符串的梳理

    1.实现的功能是java层传递一个字符串到c层2.c层首先将jstring类型转换成char*类型3.c层对字符串进行处理之后,将处理之后的char*类型转换成jstring类型返回给上层的 pack ...

  9. Spring IoC component-scan 节点详解

    前言 我们在了解 Spring 容器的扩展功能 (ApplicationContext) 之前,先介绍下 context:component-scan 标签的解析过程,其作用很大是注解能生效的关键所在 ...

  10. 《Java并发编程之美》

    简介 码云笔记 java-concurrent/TheBeautyOfConcurrentProgram