python基础5(文件操作,with语句)

  1. 打开文件
    #使用 open
    f = open('路径',mode = '打开模式', encoding='编码')
    
    #可以使用with语句打开,不需要关闭,可以同时打开多个文件
    with open('路径',mode = '打开模式', encoding='编码') as f:
        pass

    open获取的是文件句柄,使用的编码是系统的编码。

  2. 关闭文件
    f.close()
  3. 打开模式
    模式       操作
    -------------------
    r           只读
    w          只写
    rb          以二进制读
    wb         以二进制写
    a           追加
    ab          以二进制追加
    r+         读写
    w+        写读
    w+b       以二进制写读
    r+b        以二进制读写
    a+         追加读
  4. 读取文件
    #read()
    content = f.read()        #一次性全部读出来
    
    #readline()
    content = f.readline()        #一行一行的读
    
    #readlines()
    content = f.readlines()        #全部读出来,每行存储成一个列表的元素
    
    #for循环 **建议使用**
    for content in f:
        pass
  5. 写入文件
    f.write('内容')
  6. 删除文件
    import os
    os.remove('文件路径')
  7. 重命名文件
    import os
    os.rename('修改前的文件名','修改后的文件名')
  8. 文件指针
    #获取指针位置
    f.tell()
    
    #设置指针位置
    f.seek(指针)    #指针是int类型,从0开始
  9. with语句的原理——上下文管理器
    1.上下文管理协议:包含方法__enter__()和__exit__(),支持该协议的对象要实现这两种方法
    
    2.上下文管理器:支持上下文管理协议的对象,这种对象实现了__enter__()和__exit__()方法。上下文管理器定义执行with语句时要建立的运行时上下文,负责执行with语句块上下文中的进入与退出操作。
    
    3.运行时上下文:由上下文管理器创建,通过上下文管理器的__enter__()和__exit__()方法实现,__enter__()方法在语句体执行前进入运行时上下文,__exit__()在语句体执行完从运行时上下文推出。
    
    4.上下文表达式:with语句中跟在关键字with之后的表达式,返回一个上下文管理器对象
    
    5.with context_expression as target(s):
        with-body
    target(S)是__enter__()方法的返回值

猜你喜欢

转载自www.cnblogs.com/walthwang/p/10361422.html