• python文件操作


    1.open 打开

    f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes

    打开一个文件的时候获取到的是一个文件句柄.

    文件句柄是一个可迭代对象

    优点: 相对来说节省内存, 操作相对简单

    for line in f: 
        print(line.strip())
    f.close()

    绝对路径

    从磁盘根目录开始寻找

    相对路径

    相对于当前程序所在的文件夹

    ../ 上一层文件

    文件夹/ 进入xxx文件夹

    2. mode:

    r: 读取,只读.

    读取文件的相关操作

    1. read()

    默认: 读取文件内容(全部)

    read(n) 读取n个字符

    2. readline() 读取一行

    3. readlines() 读取全部. 返回列表

    4. for line in f: 每次读取一行内容

    f = open("水果.txt", mode="r", encoding="utf-8")
    print(f.read(5))  # 读取5个字符
    print(f.read(5))  # 继续读5个
    print(f.readline().strip()) # 换行符为分割, strip()可以去掉换行. 读取到的内容第一件事就是去掉空白
    print(f.readline()) # 换行符为分割
    f.close()

    w:

    write  写入. 只写

    创建文件

    会清空文件

    f = open('吃的', mode="w", encoding="utf-8") # 可以帮我们创建文件
    f.write('河南特色
    ')
    f.write("东北特色
    ")
    f.write('陕西特色
    ')
    f.flush()  # 刷新, 把数据写入文件
    f.close()

    a:   

    append 追加, 在文件的末尾写入内容

    也可以创建文件

    追加写

    f = open("吃的", mode="a", encoding="utf-8") 
    f.write('湖南特色
    ')
    f.write('四川特色
    ')
    f.flush()
    f.close()

    r+: 对于文件而言. 应该有的操作就两个:读, 写

    读写操作

    w+:

    写读操作

    a+:

    追加写读

    所有带b的表示直接操作的是bytes, 当处理非文本文件的时候.

    rb

    wb

    ab: 断点续传

    r+b

    w+b

    a+b

    3. 文件操作中关于文件句柄的相关操作

    seek() 移动光标

    f.seek(0) 移动到开头(最多)

    f.seek(0, 2) 移动到末尾

    seek:两个参数

    1. 表示偏移量

    2. 从xxx开始偏移, 默认0, 开头 1, 当前位置 2, 末尾

    tell

    返回光标所在的位置

    4. 文件修改

    1. 先从文件中读取内容

    2. 把要修改的内容进行修改

    3. 把修改好的内容写人一个新文件

    4. 删除掉原来的文件

    5. 把新文件重命名成原来的文件的名字

  • 相关阅读:
    springboot 整合jdbcTemplate
    springboot 整合springDataJPA
    springboot 全局异常处理
    springboot整合jsp模板
    springboot整合mybatis+pageHelper
    springboot整合mybatis
    springboot使用fastJson作为json解析框架
    springBoot开启热部署
    springboot快速入门
    解决springboot启动失败问题:Unable to start embedded container;
  • 原文地址:https://www.cnblogs.com/fu-1111/p/10072957.html
Copyright © 2020-2023  润新知