zoukankan      html  css  js  c++  java
  • Python3 文件处理

    文件操作的流程

    1. 打开文件

      f = open(r'文件路径', 'w', encoding='字符编码')

    2. 读取/修改文件

      f.write('写入')

    3. 保存文件

      f.flush() # 快速保存

    4. 关闭文件

      f.close() # 告诉操作系统关闭文件

    文件的三种打开模式

    读取: rt read_text 针对文本内容只读

    f = open(r'C:UsersBlackDocumentsPython learning文件操作', 'rt', encoding='utf-8')
    
    data = f.read()
    print(data)
    print(f.readable)  # True
    print(f.writable)  # False
    
    
    print(f.readline())  # 读取一行, 光标移动一行
    print(f.readlines())  # 读取所有行,生成列表(包括换行
    )
    
    # 循环读取一个个字符
    for i in f.read():
        print(i)
        
    # 循环读取一行行
    for i in f:
        print(i)
    

    清空写入: wt write_text 针对文本内容只写

    # 使用'w'模式在打开时候就会清空文件
    f = open(r'C:UsersBlackDocumentsPython learning文件操作', 'wt', encoding='utf-8') 
    
    
    print(f.readable())  # False
    print(f.writable())  # True
    
    f.write('写入')
    
    # 自动拼接列表元素
    f.writeliens(['第一行
    ', '第二行
    ','第三行'])
    
    

    追加写入: at append_text 针对文本内容只写

    # 使用'a'模式打开时候光标会默认移动到文件尾
    f = open(r'C:UsersBlackDocumentsPython learning文件操作', 'at', encoding='utf-8') 
    
    print(f.readable())  # False
    print(f.writable())  # True
    
    f.write('追加写入')
    

    PS: 'w'和'a'模式可以自动创建文件

    文件的两种形式

    文本形式: t

    用于文本文件的处理

    二进制形式: b

    一般用于图片/音频/视频的保存(和r/w/a联用, 不需要encoding)

    文件路径

    绝对路径

    就是文件的详细路径地址, 从盘符开始: C:UsersBlackDocumentsPython learning文件操作

    相对路径

    当前运行文件(C:UsersBlackDocumentsPython learning est.py')的文件夹下的文件名 文件操作

    with open打开文件

    # with为我们提供了自动关闭文件的功能
    with open(r''C:UsersBlackDocumentsPython learning文件操作, 'wt',encoding='utf-8') as f:
        # 在此缩进下文件不会关闭
        f.write('清空写入')
    
    print('写入完成')  # 当缩进结束文件关闭
    

    可读可写模式(补充)

    r+ : 即可读又可写, 光标在文本头部, 写入的话会覆盖后面的字符

    w+: 即可读又可写, 会先清空文件内容

    a+ : 即可读又可写, 光标在文档尾部, 读取的话会读不到内容

    控制光标

    with open(r''C:UsersBlackDocumentsPython learning文件操作, 'rt',encoding='utf-8') as f:
        
        # 3表示读取的字符数量
        print(f.read(3))
        
        '''
        3表示移动三个字节, 0表示光标的起始位置是头部(1表示当前位置,2表示文本尾部), 
        所以这行代码就表示从文档头部, 将光标向后移动三个字节
        '''
        f.seek(3, 0) 
        
        # .tell()方法可以显示当前光标的位置
        print(f.tell()) 
        
        
        # .truncate()截断方法, 3表示光标向后移动三个字节,光标后的内容全部删除
        f.truncate(3)
        
    
    
  • 相关阅读:
    lnmp环境搭建
    ffmpeg基础使用
    mongodb 副本集搭建
    二 利用pandas统计中国百亿富豪的信息
    1 mongodb安装及启动
    2 mongodb设置密码登录和创建库
    一 pandas读取excle数据
    rancher的使用
    redis主从配置
    redis安装和配置
  • 原文地址:https://www.cnblogs.com/bigb/p/11544573.html
Copyright © 2011-2022 走看看