第9.6节 Python使用read函数读取文件内容
一、语法
read(size=-1)
read函数实际上在读取文本文件和二进制文件时,调用的是不同类的read,这是因为文本文件和二进制文件打开后返回的文件对象类型不同,同时读取的具体处理机制上也不同,读取指定大小的文件内容,如果size小于0或为None就读取整个文件的内容。
注意:
- 在文本文件读取模式下,size的计数是以UNICODE字符的个数计数的,在二进制文件读取模式下,size计数是以字节为单位计数;
- 每次读取都是从上次读后的位置开始读取文件;
- 当size为0时,不执行读取操作,当size小于0或为None时,读取整个文件内容;
- 对于多语言文本文件,以文本文件模式读取,读取返回内容为字符串,可以直接支持缺省的多语言方式如中文执行打印显示,二进制模式下,返回内容为bytes类型,对于多语言文本文件需要进行解码才能正常显示。
二、 文本文件模式读取案例
- 源代码
>>> def readtxtfile(n):
fp = open(r"c:\temp\test.txt","r")
text=fp.read(n)
fp.close()
return text
>>> readtxtfile(None)
'滁州西涧\n[唐] 韦应物\n独怜幽草涧边生,上有黄鹂深树鸣。\n春潮带雨晚来急,野渡无人舟自横。\n'
>>> readtxtfile(10)
'滁州西涧\n[唐] 韦'
>>> readtxtfile(-1)
'滁州西涧\n[唐] 韦应物\n独怜幽草涧边生,上有黄鹂深树鸣。\n春潮带雨晚来急,野渡无人舟自横。\n'
>>> readtxtfile(3)
'滁州西'
>>>
- 执行截图

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

本节介绍了read读取文件,可以知道在二进制文件和文本文件两种模式下read的处理和返回结果还是有所不同,这主要是由于对多语言支持的,文本文件模式支持UNICODE、而二进制只支持字节。
老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!
第9.6节 Python使用read函数读取文件内容的更多相关文章
- 第9.7节 Python使用write函数写入文件内容
一. 语法 write(data) data为要写入的数据,可以为字符串str类型,也可以是bytes类型. 返回值为实际写入的数据数,在写入数据为str类型时,该数据为实际写入的UNIOCODE字符 ...
- 第9.8节 Python使用writelines函数写入文件内容
一. 语法 writelines(lines) 参数lines为一个列表,写入时列表中的每个元素不会自动添加换行符,因此通常需要在列表的每个元素后面添加换行符以确保写入的文件会分行. 注意:Pytho ...
- 在系统中使用read函数读取文件内容
read函数(读取文件) read函数可以读取文件.读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用. 使用格式如下: number = ...
- 第7.23节 Python使用property函数定义属性简化属性访问的代码实现
第7.23节 Python使用property函数定义属性简化属性访问的代码实现 一. 背景 在本章前面章节中,我们介绍了类相关的知识,并举例进行了说明,在这些例子中会定义一些形如 ...
- python 集合、函数和文件操作
1.set集合 set集合是一个无序.不可重复.可嵌套的序列,基本功能是进行成员关系测试和删除重复元素,可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不 ...
- python练习六十一:文件处理,读取文件内容
python练习六十一:文件处理,读取文件内容 假设要读取text.txt文件中内容 写文件(如果有文件,那直接调用就行,我这里自己先创建的文件) list1 = ['python','jave',' ...
- Python跳过第一行读取文件内容
Python编程时,经常需要跳过第一行读取文件内容.比较容易想到是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作.相应的Python代码如下: inpu ...
- python 按每行读取文件怎么去掉换行符
python按每行读取文件后,会在每行末尾带上换行符,这样非常不方便后续业务处理逻辑,需要去掉每行的换行符,怎么去掉呢?看下面的案例: >>> a = "hello wor ...
- 第9.10节 Python中IO模块其他文件操作属性和方法简介
本文中所有案例中的fp都是使用open函数打开文件返回的一个文件对象,为了节省篇幅,大部分没有提供文件打开的代码. 一. 文件是否关闭的属性 属性名:closed 功用:判断文件是否关闭 示例: &g ...
随机推荐
- 搭建面向NET Framework的CI/CD持续集成环境(一)Windows服务器安装Jenkins
前言 网上大多数都是针对主流的Spring Cloud.NET Core的CI/CD方案.但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Cor ...
- 通过JS判断当前浏览器的类型
通过JS判断当前浏览器的类型,对主流浏览器Chrome.Edge.Firefox.UC浏览器.QQ浏览器.360浏览器.搜狗浏览器的userAgent属性值来判断用户使用的是什么浏览器. 不同浏览器的 ...
- ngx ------ngx_cache_manager_process_cycle
static void ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data) {----------------------- ...
- 还不懂Docker?一个故事安排的明明白白!
程序员受苦久矣 多年前的一个夜晚,风雨大作,一个名叫Docker的年轻人来到Linux帝国拜见帝国的长老. "Linux长老,天下程序员苦于应用部署久矣,我要改变这一现状,希望长老你能帮帮我 ...
- Python_迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...
- js常用函数和事件
1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮. (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮. ...
- [C/C++] 结构体内存对齐:alignas alignof pack
简述: alignas(x):指定结构体内某个成员的对齐字节数,指定的对齐字节数不能小于它原本的字节数,且为2^n; #pragma pack(x):指定结构体的对齐方式,只能缩小结构体的对齐数,且为 ...
- 如何获取流式应用程序中checkpoint的最新offset
对于流式应用程序,保证应用7*24小时的稳定运行,是非常必要的.因此对于计算引擎,要求必须能够适应与应用程序逻辑本身无关的问题(比如driver应用失败重启.网络问题.服务器问题.JVM崩溃等),具有 ...
- php获取字符串长度
function len($zfc){ $arr = []; $len = mb_strlen($zfc); for ($i = 0; $i < $len; $i++) { array_push ...
- pandas 生成html文档,支持可添加多个表
如何通过pandas生成html格式?如何通过pandas生成html文件文件中包含多个表单Balance_64_data = pd.read_sql(Balance_64_sql,engine)df ...