• python 基础:文件处理


    文件处理

    f = open('文件名的路径', '打开的模式', encoding='字符编码')
            f.close()
    
            # 文件的上下文管理: with    ,   flask框架的上下文管理(后期学习)
            with open('文件名的路径', '打开的模式', encoding='字符编码') as f:
                # 内部帮你执行f.close()
    

    什么是文件

    操作系统提供的虚拟概念,用来存储信息的

    操作文件的流程

    1. 打开文件 --》 open
    2. 修改文件 --》 write/read
    3. 保存文件 --》 flush
    4. 关闭文件 --》 close

    文件打开文件的三种模式

    1. r --》只读
    2. w --》清空写入,创建新文件
    3. a --》追加写入,创建新文件 把光标移动到文件尾部

    文件打开的两种方式

    两种方式一般不单独使用

    1. t 文本模式
    2. b 二进制模式,一般用于音频/图片/视频

    绝对路径和相对路径

    绝对路径:

    从盘符开始

    相对路径:

    相对于当前执行文件的文件夹下的所有文件

    with管理文件上下文

    跳出with缩进外,会自动关闭文件。可以一次性打开多个文件

    文件的高级应用

    新的打开文件的模式

    1. r+,覆盖光标后(文件头)的内容
    2. w+,w清空文件,读的功能失去了意义
    3. a+,a让光标移到文件尾,你读也读不出来

    如果真要即写又读,打开两次文件

    光标移动的应用

    1. read,以字符为单位,读取n个字符,默认读取全部

    以下三个方法以字节为单位

    1. seek:移动光标:0表示文件头;1表示当前位置;2表示文件末尾
    2. tell:告诉你当前位置
    3. truncate:截断处理,truncate(0),清空文件

    打开文件取值的优化方式:

    - f.read():
                    直接将文件中所有数据一次性取出。
                    缺点:
                        内存容易溢出。
    
                - for循环f句柄操作:
                    # 通过for循环,将每一行取出,保证不会内存溢出
                    for line in f:
                        print(line)
    
                - f.readline(): (了解)
                    读取一行,光标移动到第二行。
    

    文件的修改

    文件没有插入,只有覆盖一说

    with open('test.txt','r',encoding='utf8') as fr, open('test_swap.txt','w',encoding='utf8') as fw:
        data = fr.read()
        # 做修改
        fw.write(data)
        
    import os
    
    os.remove('test.txt')
    os.rename('test_swap.txt','test.txt')
    

    pyth

  • 相关阅读:
    java
    java
    java
    java
    java
    java
    java
    java
    sed命令的用法
    linux系统产生随机数的6种方法
  • 原文地址:https://www.cnblogs.com/WQ577098649/p/11947013.html
Copyright © 2020-2023  润新知