• DAY9学习笔记


      文件内指针的移动:

        大前提:文件内指针的移动是Bytes为单位的,唯独t模式下的read读取内容个数是以字符为单位。

        f.seek(指针移动的字节数,模式控制):控制文件指针的移动。

        模式控制:

          0:默认的模式,该模式代表指针移动的字节数是以文件开头为参照的。

          1:该模式代表指针移动的字节数是以当前所在的位置为参照的。

          2:该模式代表指针移动的字节数是以文件末尾的位置为参照的。

          强调:其中0模式可以在t或者b模式使用,而1跟2模式只能在b模式下用。

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

      文件修改:

        须知一:硬盘空间无法修改,硬盘中的数据更新都是用新的内容覆盖旧的内容,内存控制可以修改。

        须知二:文件对应的是硬盘空间,硬盘不能修改应为文件本质也不能修改,我们看到文件的内容可以修改,是如何实现的呢?

          大的的思路:

            将硬盘中文件内容读入内存,然后在内存中修改完毕后再覆盖回硬盘。

          具体的实现方式分为两种:

            将文件内容发一次性全部读入内存,然后在内存中修改完毕后再覆盖写回原文件。

              优点:在文件修改过程中同一份数据只有一份。  缺点:会过多地占用内存。

            以读的方式打开原文件,以写的方式打开一个临时文件,一行行读取原文件内容,修改完后写入临时文件,删掉原文件,将临时文件重命名原文件名。

              优点:不会占用过多的内存。          缺点:在文件修改过程中同一份数据存了两份。

      函数:

        什么是函数:

          具备某一功能的工具->函数

          事先准备工具的过程--->函数的定义

          遇到应用场景,拿来就用---->函数的调用

        函数分类两大类:

          内置函数

          自定义函数

        为何要用函数:

          代码冗余;可读性差;可扩展性差

        如何用函数:

          原则:必须先定义,再调用。

        定义函数的语法:

          def 函数名(参数1,参数2,...):

             """文档注释"""

            code1

            code2

            code3

            ............

            return 返回值

        调用函数的语法:

          函数名(值1,值2,...)

  • 相关阅读:
    RecyclerView中装饰者模式应用
    Android中的Drawable和动画
    Android的线程和线程池
    Bitmap的加载和Cache
    Android的消息机制
    【Java基础】线程和并发机制
    Asp.Net 将HTML中通过dom-to-image.js标签div内的内容转化为图片保存到本地
    Asp.Net MVC @Html.TextBox 只允许输入数字问题
    程序员编程10大原则,请牢牢记住
    Asp.Net MVC WebAPI的创建与前台Jquery ajax后台HttpClient调用详解
  • 原文地址:https://www.cnblogs.com/lipengjia/p/9687272.html
Copyright © 2020-2023  润新知