zoukankan      html  css  js  c++  java
  • 文件操作2

    x 模式控制文件操作的模式
    x 只写模式 不可读 文件不存在则创建 文件存在则报错
    总结:x模式只写模式 文件不存在则创建文件 文件存在则报错 不可写
    控制文件读写内容模式:
    t 模式:
    1.读写以str(unicode)为单位
    2.只能是文本文件
    3.必须指定字符编码,即必须指定encoding参数 encoding="utf-8"
    b 模式:binary模式
    1.读写以bytes为单位
    2.可以针对所有文件
    3.一定不能指定字符编码,即一定不能指定encoding参数

    总结:
    1.在操作纯文本文件方面 t模式帮我们省去编码和解码的环节,
    b模式需要手动编码、解码,所以使用t模式更为方便
    2.针对非文本文件(图片、视频、音频),只能使用b模式

    控制文件读写操作模式:
    r :只读模式
    w:只写模式
    a:只追加写模式
    # 一:读相关操作
    # 1.readline:读一行
    #readlines:读取多行
    # 二、写相关操作
    # a.writelines()
    # with open("haha/b.txt",mode="wt",encoding="utf-8")as a:
    # a.writelines("111 222 333 ")
    # with open("haha/b.txt",mode="wb")as f:
    # l=[
    # "1111nnn1111 ".encode("gbk"),
    # "2556gg666666 ".encode("gbk"),
    # "6666ll66 ".encode("gbk")
    # ]
    # f.writelines(l)
    # with open("haha/b.txt",mode="wb")as f:
    # l=[
    # b"aa12563 ",
    # b"52634 ",
    # b"hah36985 "
    # ]
    # f.writelines(l)
    # with open(r"haha.txt",mode="wb")as f:
    # l=[
    # "你好啊 ".encode("utf-8"),
    # "小朋友,你是不是 ".encode("utf-8"),
    # "有很多问号? ".encode("utf-8")
    #
    # ]
    # f.writelines(l)
    # 3.flush
    with open("haha/b.txt",mode="wt",encoding="utf-8")as f:
    f.write("哈哈哈哈")
    f.flush()
    指针的移动的单位都是以bytes/字节为单位
    只有一种特殊情况:t模式下的read(n),n代表的是字符个数
    f.seek(n,模式):n是指移动的字节个数
    模式:
    模式0:参照物是文件开头位置
    f.seek(9,0) 文件开头的位置移动9个字节
    f.seek(3,0) 文件开头的位置移动3个字节
    模式1:参照物是当前指针所在位置
    f.seek(9,1) 文件指针当前所在位置移动9个字节
    f.seek(3,1) 文件指针当前所在位置移动3个字节
    模式2:参照物是文件末尾位置,应该倒着移动
    f.seek(-9,2)
    f.seek(-3,2)

    强调只有0模式可以在t 下使用 ,1,2模式只能在b 模式下使用
    f.tell()获取文件指针当前位置
  • 相关阅读:
    Window 窗口类
    使用 Bolt 实现 GridView 表格控件
    lua的table库
    Windows编程总结之 DLL
    lua 打印 table 拷贝table
    使用 xlue 实现简单 listbox 控件
    使用 xlue 实现 tips
    extern “C”
    COleVariant如何转换为int double string cstring
    原来WIN32 API也有GetOpenFileName函数
  • 原文地址:https://www.cnblogs.com/mayrain/p/12507061.html
Copyright © 2011-2022 走看看