zoukankan      html  css  js  c++  java
  • python全栈脱产第8天------文件操作可读可写模式、文件的指针移动、文件的修改、函数

    一、可读可写模式:r+t  w+t  a+t(为原来的模式增加原本没有的功能,如r+t模式为可读可写模式)

    二、文件内的指针移动

      seek关键字:1.第一个参数(offset)代表字节数

             2.第二个参数(whence)代表指针位置:0代表文件开头,1代表指针当前位置,2代表文件末尾

    三、文件修改的两种方式:

      1.(1)将文件内容由硬盘全部读入内存

       (2)将内存中完成修改

       (3)将内存中修改后的结果覆盖写回到硬盘

      with open('a.txt',mode='rt',encoding='utf-8') as f:

        a=f.read()

      with open('a.txt',mode='wt',encoding='utf-8') as f:

        f.write(a.replace('alex','dsb'))

      优点:文件修改的过程中只有一份数据

      缺点:占用内存过多,不适合大文件

      2.(1)以读的方式打开源文件,以写的方式打开一个临时文件

       (2)从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕

       (3)删掉源文件,将临时文件重命名为源文件名

      import os

      with open('a.txt',mode='rt',encoding='utf-8') as f_read,open('.a.txt.swap',mode='wt',encoding='utf-8') as f_write:

        for line in f_read:

          f_write.write(line.replace('alex','dsb'))

      os.remove('a.txt')

      os.rename('.a.txt.swap')

      优点:同一时刻在内存中只存在源文件的一行内容,不会过多的占用内存

      缺点:在文件修改的过程中会出现源文件与临时文件共存,硬盘上同一时刻会有两份数据,即在修改的过程中会过多的占用硬盘

    四、函数

      定义:函数就是具备某一功能的工具

      原因:1.程序的组织结构不清晰,可读性差  2.代码冗余  3.可扩展性差

      用法:遵循的原则:先定义,后调用

        def 函数名(参数):

          代码块

          return 返回值

        函数:就相当于一个变量名,指向函数的内存地址  注意:函数的内存地址()就可以触发函数体代码的执行

        参数:参数是函数的调用者为函数体代码传值的媒介,在python中函数的参数无需声明类型

        代码块:就是函数体功能的具体实现

        return返回值:函数体代码运行的结果

      两个阶段:定义阶段:只检测语法,不执行代码  调用阶段:运行函数体代码

      无参函数定义:当函数体代码逻辑不依赖任何人传入的值就能执行,就不需要定义参数

      有参函数定义:当函数体代码逻辑依赖外部传入值时,必须定义参数用来接收外部传入的值

  • 相关阅读:
    JSP基础语法
    Tomcat服务器的安装及配置
    数据库连接失败出现4064错误
    错误页跳转
    Eclipse配置jstl标准标签库详解
    tomcat文件目录结构及功能介绍
    警告: [SetPropertiesRule]{Context/Loader} Setting property 'useSystemClassLoaderAsParent' to 'false' did not find a matching property.
    tomcat:A docBase * inside the host appBase has been specifi, and will be ignored
    Prim算法
    (值类型引用类型)和null的关系
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9438948.html
Copyright © 2011-2022 走看看