zoukankan      html  css  js  c++  java
  • python学习之路——day09 文件内指针移动修改文件的两种方式

    文件内指针移动

    件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位
    f.seek(指针移动的字节数,模式控制): 控制文件指针的移动
    模式控制:
    0: 默认的模式,该模式代表指针移动的字节数是以文件开头为参照的
    1: 该模式代表指针移动的字节数是以当前所在的位置为参照的
    2: 该模式代表指针移动的字节数是以文件末尾的位置为参照的
    强调:其中0模式可以在t或者b模式使用,而1跟2模式只能在b模式下用

    f.tell()查看文件指针当前距离文件开头的位置

    =====================================================================
    文件修改
    须知一:
    硬盘空间无法修改,硬盘中的数据更新都是用新的内容覆盖旧的内容
    内存控制可以修改
    须知二:
    文件对应的是硬盘空间,硬盘不能修改应为文件本质也不能修改,
    我们看到文件的内容可以修改,是如何实现的呢?
    大的的思路:将硬盘中文件内容读入内存,然后在内存中修改完毕后再覆盖回硬盘
    具体的实现方式分为两种:
    1. 将文件内容发一次性全部读入内存,然后在内存中修改完毕后再覆盖写回原文件
    优点: 在文件修改过程中同一份数据只有一份
    缺点: 会过多地占用内存

    2. 以读的方式打开原文件,以写的方式打开一个临时文件,一行行读取原文件内容,修改完后写入临时文件...,删掉原文件,将临时文件重命名原文件名
    优点: 不会占用过多的内存
    缺点: 在文件修改过程中同一份数据存了两份
  • 相关阅读:
    selenium+python自动化测试--读取配置文件(.ini)
    http请求体与响应体参数说明
    selenium+python自动化测试--参数化上传文件
    selenium+python自动化测试--中文使用文档
    selenium+python自动化测试--隐藏元素
    selenium+python自动化测试--读取excel数据
    读取csv文件(含中文)报错解决方法
    函数(一)
    基础知识点
    基本数据类型(一)
  • 原文地址:https://www.cnblogs.com/unbrokenlin/p/9687077.html
Copyright © 2011-2022 走看看