文件操做

文件操做

定义:操做硬盘中的一块区域:读写操做编码

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

文件操做:根据文件名来操做硬盘的那块存储空间,操做方法:读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\n222\n') #针对文本模式的写,须要本身写换行符
f.write('1111\n222\n'.encode('utf-8')) #针对b模式的写,须要本身写换行符
f.writelines(['333\n','444\n']) #文件模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.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
'''
相关文章
相关标签/搜索