zoukankan      html  css  js  c++  java
  • 文件处理作业

    #1、通用文件copy工具实现

    src_file=input('源文件路径>>: ').strip()
    dst_file=input('源文件路径>>: ').strip()
    with open(r'{}'.format(src_file),mode='rb') as f1,
        open(r'{}'.format(dst_file),mode='wb') as f2:
        for line in f1:
            f2.write(line)

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

    with open("a.txt","r+",encoding="utf-8") as f :
        print(f.read())#输出文件全部内容,此时光标到末尾
        f.seek(3,0)#把光标移动到第3个字节处
        print(f.tell())
        f.write("sdg")#覆盖
        print(f.read())#从第6个字节读取剩余文件内容
    
    
    with open("b.txt","w+",encoding="utf-8") as f :
        print(f.read())#w模式先会将文件清空,此时读不到文件,光标在开头
        f.seek(5,0)#把光标移动到第5个字节处
        print(f.tell())
        f.write("aga")#从第5个字节处写入bbb此时光标到第8个字节处
        print(f.read())#从第8个字节读取剩余文件内容
    
    with open("b.txt", "a+", encoding="utf-8") as f:
        print(f.read())  # a模式先会将光标移动到文件末尾,此时读不到文件内容
        f.seek(3, 0)  # 把光标移动到第3个字节处
        print(f.tell())
        f.write("tww")  # a模式在写入文件内容时会默认把光标移动到文件末尾
        print(f.read())  # 从文件末尾读取剩余文件内容

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

    with open("access.log","a")as f:#先执行
        f.write("aaaa")
    import time
    with open("access.log","rb")as f:
        f.seek(0,2)
        while True:
            line = f.readline()
            if len(line) == 0:
                time.sleep(0.5)
            else:
                print(line.decode("utf-8"))
  • 相关阅读:
    Linux 搭建SVN server
    GREENPLUM简单介绍
    监听手机录音
    Java NIO与IO的差别和比較
    元数据驱动思考实例分析
    jQuery推断复选框是否勾选
    BitBlt介绍
    Android灭亡论之Firefox OS操作系统出现
    CEGUI添加自定义控件
    IFrame和Ajax比較
  • 原文地址:https://www.cnblogs.com/bk134/p/12509793.html
Copyright © 2011-2022 走看看