IO操作

作者: cc_cv | 来源:发表于2020-08-05 11:16 被阅读0次

    一、什么是IO流
    I:就是input 、O:就是output ,故称:输入输出流。
    将数据读入内存或者内存输出的过程
    常见的IO流操作,一般说的是【内存】与【磁盘】之间的输入输出。
    二、作用
    持久化数据,保证数据不再丢失!
    文件操作流程:打开文件、读写数据、关闭文件。

    1、根据数据流动方向(粘在内存的角度来说)
        r——输入流
        w——输出流
    
    2、根据数据的类型
        b——字节流
        t——字符流
    
    

    三、open()函数用法

    open(name[, mode[, buffering[,encoding]]]) 
    
    参数解释
    name : 访问的文件名称的字符串值(区分绝对路径和相对路径)。
    mode : mode 决定了打开文件的模式:只读,写入,追加等。
    buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
    
    
    image.png
    image.png

    四、高级的打开open

    语法:with…open
    with open('./hello.txt', 'r') as f:
        print(f)
    注:这里的as和前面提到过的as是异曲同工的,都是起到别名的作用。
    
    这种语法,就是可以避免每次需要手动关闭文件,这种方式会在需要的时候自动关闭。
    

    五、文件操作

    文件读取
    1、read()方法
    read(num)
    read()可以读取文件里面的内容。num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。
    2、readline()
    readline:读取第一行,返回一个字符串。
    3、readlines()
    readlines:按照行的方式读取整个文件,每一行作为列表的一个元素,最后返回一个列表。
    
    

    六、文件写入

    write()方法和writelines(seq)方法
    这两个方式都是用于文件写入的。需要注意的是,他们写完后在文件末尾都不会写入换行符。
    
    

    七、其他操作
    在某些场景下,可能我们需要更加方便的处理文件,例如,当我们读取文件一半的时候,我们需要读文件的后面具体的某些内容,这时候,我们就需要移动文件的指针来读取了。当然,都不用担心,python 都提供了这些方法,下面就讲解这些方法。

    1、tell()
    返回文件游标操作的当前位置,以文件的开头为原点。
    
    2、seek(offset[,whence])
    移动指针方法。
    offset :开始的偏移量,也就是代表需要移动偏移的字节数
    whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
    
    3、flush()
    把缓冲区的内容写入硬盘。
    
    4、truncate()
    把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。
    
    

    八、文件关闭
    文件关闭是指,在文件操作完成之后,需要关闭。

    f = open('./hello.txt', 'r')
    f.close()
    

    相关文章

      网友评论

          本文标题:IO操作

          本文链接:https://www.haomeiwen.com/subject/xemvrktx.html