zoukankan      html  css  js  c++  java
  • mode

    mode:
    r: 读取,只读.
    读取文件的相关操作
    1. read()
    默认: 读取文件内容(全部)
    read(n) 读取n个字符
    2. readline() 读取一行
    3. readlines() 读取全部. 返回列表
    (最重要)4. for line in f: 每次读取一行内容
    w:
    写入. 只写
    创建文件
    会清空文件
    a:
    也可以创建文件
    追加写
    r+: 对于文件而言. 应该有的操作就两个:读, 写
    读写操作
    w+:
    写读操作
    a+:
    追加写读

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

    ab: 断点续传

    r+b
    w+b
    a+b

    r

    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()
    #
    # print("周润发", end="胡辣汤")
    # print("周星驰")
    
    # print(f.readlines())  #  一次性把文件中的内容读取到列表中.
    
    
    # print("你叫什么名字?
     我叫李嘉诚. 可能") #  换行
    # print("你叫什么名字?\n 我叫李嘉诚. 可能") #  显示 
    
    # print("你叫什么名字?\\n 我叫李嘉诚. 可能") #  显示 \n
    
    
    # 文件句柄是一个可迭代对象
    # 优点: 相对来说节省内存, 操作相对简单
    for line in f: # 从文件中读取到每一行给前面的line
        print(line.strip())
    f.close()
    

    w

    # 每次用w模式打开文件, 都会清空这个文件(坑)
    f = open('胡辣汤', mode="w", encoding="utf-8") # 可以帮我们创建文件
    
    # f.write('河南特色
    ')
    # f.write("东北特色
    ")
    # f.write('陕西特色
    ')
    
    # 好习惯
    f.flush()  # 刷新管道, 把数据写入文件
    f.close()
    

    a

    f = open("葫芦小金刚", mode="a", encoding="utf-8") # a, append 追加, 在文件的末尾写入内容
    # f.write("你叫什么名字啊?")
    # f.read() # not readable
    f.flush()
    f.close()
    

     +

    # f = open("葫芦小金刚", mode="r+", encoding="utf-8")
    # content = f.read(2)  # 顺序必须先读, 后写
    # # r+特有的深坑:不论读取内容的多少. 只要你读了. 写就是在末尾
    # f.write('五娃')
    # print(content)
    
    
    # 一上来会清空文件. 没人用
    # f = open("葫芦小金刚", mode="w+", encoding="utf-8")
    # # content = f.read(2)  # 顺序必须先读, 后写
    # # # r+特有的深坑:不论读取内容的多少. 只要你读了. 写就是在末尾
    # # f.write('五娃')
    # f.write("又能吐火的, 有能吐水的.")
    # # 移动光标
    # f.seek(0) # 移动到开头
    # s = f.read()
    # print("=========>", s)
    
    
    # 追加写读, 光标在末尾. 所有的写都是在末尾
    # f = open("葫芦小金刚", mode="a+", encoding="utf-8")
    # f.write("机器葫芦娃召唤神龙, 高喊.我代表月亮消灭你!")
    # f.seek(0)
    # s = f.read()
    # print("=========>", s)
    

      文件复制

    f1 = open("c:/huyifei.jpg", mode="rb")
    f2 = open("d:/huerfei.jpg", mode="wb")
    
    for line in f1: # line是从f1中读取的内容
        f2.write(line)  # 把读取的内容原封不动的写出去
    
    f1.close()
    f2.flush()
    f2.close()
    

      

  • 相关阅读:
    【计算机组成原理】00-开篇词
    【设计模式】05-面向对象四大特性能解决什么问题
    【设计模式】04-面向对象谈了啥
    【设计模式】03-面向对象、设计原则、设计模式、编程规范、重构的关系
    模拟银行业务调度系统逻辑
    模拟交通灯管理系统逻辑设计
    JDK1.5新特性(七)……Annotations
    代理与动态代理
    类加载器
    JDK1.5新特性(六)……Generics
  • 原文地址:https://www.cnblogs.com/YangWenYu-6/p/10073527.html
Copyright © 2011-2022 走看看