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

    文件操作

    文件操作

    # 方式一:
    f = open(r"文件路径", "r", encoding="utf-8")  # 打开文件,拿到一个文件对象f
    f.read() # 读写文件
    f.close()  # 关闭文件,回收操作系统的资源
    
    # 方式二(上下文管理,自动回收资源):
    with open(r"文件路径", "r", encoding="utf-8") as f:
    	pass
    

    文件打开模式

    • r: 只读模式L(默认的) 1 当文件不存时,会报错 2 当文件存在时,文件指针指向文件的开头
    • w: 只写模式 1 当文件不存时,新建一个空文档 2 当文件存在时,清空文件内容,文件指针跑到文件的开头
    • a: 只追加写模式 1 当文件不存时,新建一个空文档,文件指针跑到文件的末尾 2 当文件存在时,文件指针跑到文件的末尾

    控制读写文件单位的方式(必须与r,w,a连用)

    • t : 文本模式(默认的),一定要指定encoding参数 优点: 操作系统会将硬盘中二进制数字解码成unicode然后返回 缺点:只针对文本文件有效
    • b: 二进制模式,一定不能指定encoding参数

    文件指针

    f.seek(offset,whence)
    
    • offset : 代表控制指针移动的字节数
    • whence : 代表参照什么位置进行移动 whence = 0 : 参照文件开头(默认的),可以在t和b模式下使用 whence = 1 : 参照当前所在的位置,必须在b模式下用 whence = 2 : 参照文件末尾,必须在b模式下用
    • 文件内指针移动,只有t模式下的read(n),n代表的字符的个数,除此以外文件内指针的移动都是以字节为单位

    修改文件

    • 方式一(占用内存过多,不适用于大文件):

      将文件内容由硬盘全部读入内存 在内存中完成修改 将内存中修改后的结果覆盖写回硬盘

    • 方式二:

      以读的方式打开源文件,以写的方式打开一个临时文件 从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕 删掉源文件,将临时文件重命名为源文件名

  • 相关阅读:
    ThreadLocal解析
    AIO,BIO,NIO,IO复用,同步,异步,阻塞和非阻塞
    MySql语句
    《Redis开发与运维》
    项目相关
    垃圾回收相关算法
    垃圾回收概述
    StringTable
    执行引擎
    对象的实例化内存布局和访问定位
  • 原文地址:https://www.cnblogs.com/liangchengyang/p/9456842.html
Copyright © 2011-2022 走看看