zoukankan      html  css  js  c++  java
  • 第9.6节 Python使用read函数读取文件内容

    一、语法
    read(size=-1)
    read函数实际上在读取文本文件和二进制文件时,调用的是不同类的read,这是因为文本文件和二进制文件打开后返回的文件对象类型不同,同时读取的具体处理机制上也不同,读取指定大小的文件内容,如果size小于0或为None就读取整个文件的内容。
    注意:

    1. 在文本文件读取模式下,size的计数是以UNICODE字符的个数计数的,在二进制文件读取模式下,size计数是以字节为单位计数;
    2. 每次读取都是从上次读后的位置开始读取文件;
    3. 当size为0时,不执行读取操作,当size小于0或为None时,读取整个文件内容;
    4. 对于多语言文本文件,以文本文件模式读取,读取返回内容为字符串,可以直接支持缺省的多语言方式如中文执行打印显示,二进制模式下,返回内容为bytes类型,对于多语言文本文件需要进行解码才能正常显示。

    二、 文本文件模式读取案例

    1. 源代码
    >>> def readtxtfile(n):
        fp = open(r"c:	emp	est.txt","r")
        text=fp.read(n)
        fp.close()
        return text
    
    >>> readtxtfile(None)
    '滁州西涧
    [唐] 韦应物
    独怜幽草涧边生,上有黄鹂深树鸣。
    春潮带雨晚来急,野渡无人舟自横。
    '
    >>> readtxtfile(10)
    '滁州西涧
    [唐] 韦'
    >>> readtxtfile(-1)
    '滁州西涧
    [唐] 韦应物
    独怜幽草涧边生,上有黄鹂深树鸣。
    春潮带雨晚来急,野渡无人舟自横。
    '
    >>> readtxtfile(3)
    '滁州西'
    >>>
    
    1. 执行截图
      在这里插入图片描述
      三、 二进制模式读取案例
      1.源代码
    >>> def readbinfile(n):
        fp = open(r"c:	emp	est.txt","rb")
        data=fp.read(n)
        fp.close()
        return data
    
    >>> readbinfile(0)
    b''
    >>> readbinfile(1)
    b'xb3'
    >>> readbinfile(None).decode('GBK')
    '滁州西涧
    [唐] 韦应物
    独怜幽草涧边生,上有黄鹂深树鸣。
    春潮带雨晚来急,野渡无人舟自横。
    '
    >>> readbinfile(4)
    b'xb3xfcxd6xdd'
    >>> readbinfile(4).decode('GBK')
    '滁州'
    
    1. 执行截图
      在这里插入图片描述

    本节介绍了read读取文件,可以知道在二进制文件和文本文件两种模式下read的处理和返回结果还是有所不同,这主要是由于对多语言支持的,文本文件模式支持UNICODE、而二进制只支持字节。

    老猿Python,跟老猿学Python!
    博客地址:https://blog.csdn.net/LaoYuanPython

    请大家多多支持,点赞、评论和加关注!谢谢!

  • 相关阅读:
    混合式应用开发之AngularJS ng-repeat数组有重复值的解决方法
    混合式应用开发之串口通讯(2)
    混合式应用开发之串口通讯(1)
    第一篇博客
    win10出现"本地计算机上的MySQL57服务启动后停止"
    彻底区分html的attribute与dom的property
    Angularv4入门篇1
    node开发后将本地mysql数据导入到服务器mysql
    weex入门
    Color.js 方便修改颜色值
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643692.html
Copyright © 2011-2022 走看看