zoukankan      html  css  js  c++  java
  • 文件操作

    文件操作

    定义:操作硬盘中的一块区域:读写操作

    文件:硬盘中一块存储空间(虚拟的文件)

    文件操作:根据文件名来操作硬盘的那块存储空间,操作方法:读read写write

    '''
    文件使用的三步骤
        1.打开文件
            变量名 = 文件空间
            #文件路径、操作模式(读|写) ==>编码
            f = open('a.txt','r',encoding='utf-8')
            
        2.操作文件
        读:
            read : 将所有文件读出来,如果设置长度,按照规定长度读取
            readline:一次读一行
            readlines:按行一次性全部读出来
        模式:
            基础写
            文件不存在,会新建文件,再操作
            文件存在,会清空,再操作
            
            主模式:r 读| w 写| a 追加
            从模式:b 按字节操作 | t 按字符操作 | + 可读可写
            了解:x 异常写 |U 被遗弃了
            
            
        3.关闭文件
            f.close() #释放操作系统对文件的持有,变量f 还被应用程序持有
        
    '''
    文件的操作:
    '''
    #读:
    f.read() #读取所有内容,光标移动到文件末尾,如果设置长度,按照规定长度读取
    f.readline() #读取一行内容,光标移动到第二行首部,一次读一行
    f.readlines() #读取每一行内容,存放于列表中,按行一次性全部读出来
    
    #写:
    f.write('1111
    222
    ') #针对文本模式的写,需要自己写换行符
    f.write('1111
    222
    '.encode('utf-8')) #针对b模式的写,需要自己写换行符
    f.writelines(['333
    ','444
    ']) #文件模式
    f.writelines([bytes('333
    ',encoding='utf-8'),'444
    '.encode('utf-8')]) #b模式
    
    #了解
    f.readable() #文件是否可读
    f.writable() #文件是否可读
    f.closed #文件是否关闭
    f.encoding #如果文件打开模式为b,则没有该属性
    f.flush() #立刻将文件内容从内存刷到硬盘
    f.name
    '''
    模式汇总:
    *****
    
    '''
        主模式:r 读| w 写| a 追加
        从模式:b 按字节操作 | t 按字符操作 | + 可读可写
        了解:x 异常写 |U 被遗弃了
            
    主模式:
        r: 读,无创建,不能对文件进行任何操作
        w: 写,有创建,有清空
        a: 追加,有创建,无清空
        
    从模式:(从模式必须在主模式后面,不能单独出现)
        t: 文本操作(默认模式)  r=>rt w=>wt a=>at
        b: 非文本文件必须采用二进制模式来处理
        +: 可读可写
        
    主、从:
          r:读,无创建,不能对文件进行任何操作
         r+:可读可写,无创建,不能对文件进行任何操作
         rb:二进制读,无创建,不能对文件进行任何操作
        rb+:二进制读写,无创建,不能对文件进行任何操作
        
          w:写,有创建,清空文件
         w+:可读可写,有创建,清空文件
         wb:二进制写,有创建,清空文件
        wb+:二进制读写,有创建,清空文件
        
          a:追加,有创建,无清空
         a+:可读可写,有创建,不清空文件(追加)
         ab:二进制写,有创建,不清空文件(追加)
        ab+:二进制读写,有创建,不清空文件(追加)
    '''
    游标操作:
    '''
    百度网盘 - 秒传
    '''
    '''
    1. 如何使用游标:游标的相关方法
    2. 游标相关的读写操作
    3. 根据游标在大文件中取出多个指定位置的部分字节内容
    '''
    
    '''
    方法:
    seek(偏移量,偏移位置)  必须在b模式
        偏移量:移动的字节量,负数是结合模式1,2 往前偏移 (rb模式执行,d1.decode解码)
        偏移位置:0  - 将游标移至数据的开头| 1  - 从当前游标位置开始偏移 |2 - 从文件末尾开始偏移
    
    例:
    with open('job.TXT','rt',encoding='utf-8') as f:
        d1 = f.read()
        f.seek(0,0)
        print(d1)
        d2 = f.read()
        print(d2)
        pass
    '''
  • 相关阅读:
    夯实Java基础系列5:Java文件和Java包结构
    夯实Java基础系列4:一文了解final关键字的特性、使用方法,以及实现原理
    夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!
    夯实Java基础系列1:Java面向对象三大特性(基础篇)
    走进JavaWeb技术世界16:极简配置的SpringBoot
    深入JavaWeb技术世界15:深入浅出Mybatis基本原理
    走进JavaWeb技术世界14:Mybatis入门
    走进JavaWeb技术世界13:Hibernate入门经典与注解式开发
    [转]ssm整合1(环境搭建)
    [转]基于S2SH框架的项目—antlr-2.7.2.jar包冲突问题
  • 原文地址:https://www.cnblogs.com/tyler-bog/p/10609553.html
Copyright © 2011-2022 走看看