• python中的文件操作


    一、文件代开及修改

    1. f = open("文件路径", mode="r、w、a", encoding("编码集"))

    1. 文件路径:可以是相对路径(在写项目时一定要用相对路径)也可以是绝对路径
    2. mode:r、w、a、rb、wb、ab、r+、w+、a+
    3. encoding:与文件对应的编码集
    4. f.close 对文件操作完成后要及时关闭,不然会一直占用系统内存
    5. 只能打开一个文件
    6. f 文件句柄,操作文件时的一个”把“

    2. with open ("文件路径", mode="r、w、a", encoding("编码集")) as f1,open ("文件路径", mode="r、w、a", encoding("编码集")) as f2

    1. 面向对象中的上下文管理
    2. 文件路径:可以是相对路径(在写项目时一定要用相对路径)也可以是绝对路径
    3. mode:r、w、a、rb、wb、ab、r+、w+、a+
    4. encoding:与文件对应的编码集
    5. 可以打开多个文件,也可以同时将一个文件打开两次
    6. with open不用手动输入f.close
    7. f 文件句柄,操作文件时的一个”把“

    3. 文件修改

    import os

    1. os.remove(f1) 删除文件
    2. os.rename(f"old",”new“) 给文件重命名(和repalce用法类似)

    二、文件的读和写(r、rb、w、wb、a、ab)

    rb、rb、ab 不用指定编码集

    1. r或rb

    1. f.read() 一次全部读出来,内存容易溢出,()内可以输入数字 数字代表要读取字符的个数,会随着字符个数换行
    2. f.readline() 一行一行的读,()内可以输入数字 数字代表要读取字符的个数,数字再大也不会读到下一行
    3. for i in f: 利用 for 循环一行一行读取所有内容
    4. f.readlines() 一次将所有内容读取到一个列表中,()内可以输入数字,但是根据数字范围定位到文件的对应行数,读取时只会一行为单位进行

    2. w或rb

    1. 在第一次写的时候会清除文件所有的内容,只要不f.close就会一直继续往后写
    2. 如果要写的文件不存在会在选定路径里创建一个新的文件
    3. 写入的时候不能写入数字

    3. a或ab

    1. 在文件的最后追加写

    三、 文件的读写、写读、追加写读

    1. 读写 r +

    1. 先写后读 写会从头开始并且会覆盖文件的内容,读会从写的结束位置开始(错误)
    2. 先读后写 读完后写会在文件最后开始写

    2. 写读

    1. 先读后写,先写后读,都是清空写
    2. 除非自己手动移动光标不然怎么也读不到文件内容

    3. 追加写读

    1. 先读后写,先写后读,都是在文件后面追加写

    四文件的其他操作

    1. f.tell 查看光标的位置
    2. 光标的操作 seek
      • seek(0, 0) 把光标移动到文件的开始位置
      • seek(0, 1) 把光标移动到光标的当前位置
      • seek(0, 2) 把光标移动到文件的结束位置
      • seek(n) 把光标移动到距离开始位置n个字节的位置
  • 相关阅读:
    动态规划之 0-1背包问题及改进
    动态规划之矩阵连乘
    python3 入门 (四) 类与继承
    动态规划之最长公共子序列(LCS)
    java并发包分析之———AQS框架
    java并发包分析之———BlockingQueue
    java并发包分析之———Deque和LinkedBlockingDeque
    java并发包分析之———concurrentHashMap
    java并发包分析之———ConcurrentSkipListMap
    java并发包分析之———Atomic类型
  • 原文地址:https://www.cnblogs.com/mahedong/p/11041882.html
Copyright © 2020-2023  润新知