• 7.23_python_lx_day9


    一。文件的扩展模式

    (utf-8编码格式下 默认一个中文三个字节 一个英文或符号 占用一个字节)

    read() 功能: 读取字符的个数(里面的参数代表字符个数)

    seek() 功能: 调整指针的位置(里面的参数代表字节个数) seek移动中文字节的时候,有可能报错

    tell() 功能: 当前光标左侧所有的字节数(返回字节数) 计算文件指针左侧所有的字节数

    seek(0)   直接把光标移动到文件开头

    seek(0,2) 直接把光标移动到文件末尾 

    (1)打开文件的写法

    方法一

    1 fp = open("cishi.txt",mode="w+",encoding="utf-8") #打开文件
    2 fp.close()#关闭文件

    方法二

    with语法的使用 (close操作with语法可以自动实现)

    1 with open("ceshi.txt",mode="w+" encoding = ‘utf-8’) as fp:

    继续优化 合并with

    1 with open("ceshi1.txt",mode="r+",encoding=‘utf-8’) as fp1 ,  open('ceshi2',mode="w+",encoding='utf-8') as fp2:

    (2)close 文件关闭的意义

    刷新缓冲区 flush
      当文件关闭的时候自动刷新缓冲区
      当整个程序运行结束的时候自动刷新缓冲区
      当缓冲区写满了 会自动刷新缓冲区
      手动刷新缓冲区

    二.文件的相关函数

    readable       功能: 判断文件对象是否可读

    writable         功能: 判断文件对象是否可写

    readline         功能: 读取一行文件内容

    readlines       功能:将文件中的内容按照换行读取到列表当中

    writelines      功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据

    truncate         功能: 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节)

    三.字节流转换

    bytes : 是用来传输或者存储的数据格式

    如果是中文使用encode 和 decode 来进行转换

    将字符串和字节流(Bytes流)类型进行转换 (参数写成转化的字符编码格式)

    encode 编码  将字符串转化为字节流(Bytes流)

    decode 解码  将Bytes流转化为字符串

    1 strvar = "我爱你"
    2 # encode 编码 -> 变成二进制字节流
    3 res = strvar.encode("utf-8")
    4 print(res , type(res))
    5 # decode 解码 =>二进制字节流恢复成原来的字符串
    6 res2 = res.decode("utf-8")
    7 print(res2 , type(res2))

    len可以计算字节个数

    1 strvar = "我爱你"
    2 res = strvar.encode("utf-8")
    3 num = len(res)
    4 print(num) # 9
  • 相关阅读:
    Django中自定义标签的所有步骤
    django的settings详解(1)
    django中@property装饰器的运用
    设计没有标准,只有目标
    小学的题 大学的解法
    中国移动创新系列丛书《OPhone应用开发权威指南》读者交流活动圆满结束
    中国移动创新系列丛书《OPhone应用开发权威指南》读者交流活动
    开源软件技巧与精髓分享
    博文视点大讲堂28期:助你赢在软件外包行业
    网络营销大师力作,亚马逊营销图书传奇
  • 原文地址:https://www.cnblogs.com/Magicianlx/p/13369726.html
Copyright © 2020-2023  润新知