首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐
2025年6月13日 星期五 8:10am

第9.6节 Python使用read函数读取文件内容

  • 23-09-22 19:21
  • 4447
  • 11887
blog.csdn.net

一、语法
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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  1. 执行截图
    在这里插入图片描述

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

老猿Python,跟老猿学Python!
博客地址:http://iyenn.com/index/link?url=https://blog.csdn.net/LaoYuanPython

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

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树进阶语法文件333612 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/97614954"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top