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__()方法的返回值

最新文章

  1. IOS第四天-新浪微博 -存储优化OAuth授权账号信息,下拉刷新,字典转模型
  2. html中的空格显示问题
  3. 挑灯熬夜看《Build 2015 Keynote》图文笔记
  4. 哇塞,原来自己写 Google Chrome 浏览器扩展(插件)这么容易!
  5. 引擎设计跟踪(九.14.2c) 最近一些小的更新
  6. JSF学习五Ajax
  7. BZOJ 1624: [Usaco2008 Open] Clear And Present Danger 寻宝之路( 最短路 )
  8. NX-bridge,可以实现无线XBee控制的Arduino板
  9. 腾讯文学动作密集 疑为手Q发力移动阅读铺路
  10. ssh 综合
  11. ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集
  12. Java 浅析Thread.join()
  13. HDU5992 - Finding Hotels
  14. ubuntu 14.04 rabbitmq集群部署
  15. 使用jQuery+huandlebars遍历中if判断
  16. openresty router && template 试用
  17. PHP 8中数据类型
  18. IO多路复用的机制:select、poll、epoll
  19. 用FireDAC获取 SQL SERVER错误文本信息
  20. 文档类型、DOCTYPE切换和浏览器模式

热门文章

  1. 路飞学城Python-Day37(practise)
  2. hdu5791 TWO
  3. BZOJ 3307 雨天的尾巴 (树上差分+线段树合并)
  4. VUE:事件处理和表单输入绑定
  5. class的基本操作方法
  6. vue自定义一个过滤器
  7. java缓冲区BufferedReader
  8. sql server 与 mysql在自定以数据类型的区别
  9. maven 构建web项目
  10. 弹性ScrollView,和下啦刷新的效果相似 实现下拉弹回和上拉弹回