• 分分钟钟学会Python 第四章 文件操作


    4.1 文件基本操作

    obj = open('路径',mode='模式',encoding='编码')
    obj.write()  # 写入
    obj.read()   # 读取
    obj.close()  #关闭

    4.2 打开模式

    r / w / a 【只读只写字符串】
    r+ / w+ / a+ 【可读可写字符串】
    rb / wb / ab 【只读只写二进制】
    r+b / w+b / a+b 【可读可写二进制】

    4.3 操作

    read() , 全部读到内存
    
    read(1)
    
    1表示一个字符
    
    obj = open('a.txt',mode='r',encoding='utf-8')
    data = obj.read(1) # 1个字符
    obj.close()
    print(data)
    1表示一个字节
    
    obj = open('a.txt',mode='rb')
    data = obj.read(3) # 1个字节
    obj.close()
    write(字符串)
    
    obj = open('a.txt',mode='w',encoding='utf-8')
    obj.write('中午你')
    obj.close()
    write(二进制)
    
    obj = open('a.txt',mode='wb')
    
    # obj.write('中午你'.encode('utf-8'))
    v = '中午你'.encode('utf-8')
    obj.write(v)
    
    obj.close()
    seek(光标字节位置),无论模式是否带b,都是按照字节进行处理。
    
    obj = open('a.txt',mode='r',encoding='utf-8')
    obj.seek(3) # 跳转到指定字节位置
    data = obj.read()
    obj.close()
    
    print(data)
    
    obj = open('a.txt',mode='rb')
    obj.seek(3) # 跳转到指定字节位置
    data = obj.read()
    obj.close()
    
    print(data)
    tell(), 获取光标当前所在的字节位置
    
    obj = open('a.txt',mode='rb')
    # obj.seek(3) # 跳转到指定字节位置
    obj.read()
    data = obj.tell()
    print(data)
    obj.close()
    flush,强制将内存中的数据写入到硬盘
    
    v = open('a.txt',mode='a',encoding='utf-8')
    while True:
        val = input('请输入:')
        v.write(val)
        v.flush()
    
    v.close()

    4.4 关闭文件

    文艺青年

    v = open('a.txt',mode='a',encoding='utf-8')
    
    v.close()

    二逼

    with open('a.txt',mode='a',encoding='utf-8') as v:
        data = v.read()
        # 缩进中的代码执行完毕后,自动关闭文件

    4.5 文件内容的修改

    with open('a.txt',mode='r',encoding='utf-8') as f1:
        data = f1.read()
    new_data = data.replace('飞洒','666')
    
    with open('a.txt',mode='w',encoding='utf-8') as f1:
        data = f1.write(new_data)

    大文件修改

    f1 = open('a.txt',mode='r',encoding='utf-8')
    f2 = open('b.txt',mode='w',encoding='utf-8')
    
    for line in f1:
        new_line = line.replace('阿斯','死啊')
        f2.write(new_line)
    f1.close()
    f2.close()
    with open('a.txt',mode='r',encoding='utf-8') as f1, open('c.txt',mode='w',encoding='utf-8') as f2:
        for line in f1:
            new_line = line.replace('阿斯', '死啊')
            f2.write(new_line)
  • 相关阅读:
    Java实现 LeetCode 173 二叉搜索树迭代器
    PHP array_reverse() 函数
    PHP array_replace_recursive() 函数
    PHP array_replace() 函数
    PHP array_reduce() 函数
    PHP array_rand() 函数
    C# 通配符转正则
    win10 uwp 验证输入 自定义用户控件
    win10 uwp 验证输入 自定义用户控件
    win10 uwp 验证输入 自定义用户控件
  • 原文地址:https://www.cnblogs.com/gaodi2345/p/10819364.html
Copyright © 2020-2023  润新知