详解python中readlines函数的参数hint
readlines的帮助信息
>>> fr=open('readme.txt')
>>> help(fr.readlines)
Help on built-in function readlines:readlines(hint=-1, /) method of _io.TextIOWrapper instanceReturn a list of lines from the stream.hint can be specified to control the number of lines read: no morelines will be read if the total size (in bytes/characters) of alllines so far exceeds hint.
Google翻译
_io.TextIOWrapper 实例的 readlines(hint=-1, /) 方法
从流中返回行列表。
可以指定 hint 来控制读取的行数:如果到目前为止所有行的总大小(以字节/字符为单位)超过hint,则不会读取更多行。
readme.txt中的内容
>>> f=open('readme.txt')
>>> f.readlines()
['1\n', '22\n', '\n', '333']
为了进一步搞清楚hint,我写了一个函数来演示
readlines函数代码
def readlinesFile(filename,nbyte):'''探索f.readlines(i)中i的作用,典型的调用形式:readlinesFile('readme.txt',12)'''for i in range(nbyte):f=open(filename)ss=f.readlines(i) if i==0:#如果hint=0,先把每一个元素输出 textline=len(ss)#文件的总行数ntotalbyte=0#文件的总字数nwritebyte=0#已经写了的字节数for j in range(textline):#nwritebyte=ntotalbyte#已经写了的字节数ntotalbyte=ntotalbyte+len(ss[j])rowbyte=0#已经写了的新行的字节数,用来记一行已经输出的字节个数while nwritebyte<ntotalbyte:#当已写字节<总字节数print(f'{nwritebyte+1}:',repr(ss[j][rowbyte])) #repr是为了输出换行符nwritebyte=nwritebyte+1rowbyte=rowbyte+1print(f'行数={textline},字数={ntotalbyte}')print(f'f.readlines{i}={ss}') f.close()
输出
>>> readlinesFile('readme.txt',12)
1: '1'
2: '\n'
3: '2'
4: '2'
5: '\n'
6: '\n'
7: '3'
8: '3'
9: '3'
行数=4,字数=9
f.readlines0=['1\n', '22\n', '\n', '333']
f.readlines1=['1\n']
f.readlines2=['1\n', '22\n']
f.readlines3=['1\n', '22\n']
f.readlines4=['1\n', '22\n']
f.readlines5=['1\n', '22\n', '\n']
f.readlines6=['1\n', '22\n', '\n', '333']
f.readlines7=['1\n', '22\n', '\n', '333']
f.readlines8=['1\n', '22\n', '\n', '333']
f.readlines9=['1\n', '22\n', '\n', '333']
f.readlines10=['1\n', '22\n', '\n', '333']
f.readlines11=['1\n', '22\n', '\n', '333']
总结:
- hint 是要输出显示的字节数
- hint 默认等于-1,就是以列表的形式读出所有内容
- hint = 0时,效果等同于-1
- hint 所指的字节数正好是换行符的话,则实际输出是 hint+1
更花哨的readlinesFile
def readlinesFile(filename,nbyte):'''探索f.readlines(i)中i是指什么,典型的调用形式:readlinesFile('readme.txt',12)'''specialByte=[]#存储特殊的字节数用for i in range(nbyte):with open(filename) as f:#使用with语句就可以不使用f.close()了ss=f.readlines(i) if(i==0):#如果hint=0,先把每一个元素输出print(ss)textline=len(ss)#文件的总行数ntotalbyte=0#文件的总字数nwritebyte=0#已经写了的字节数for j in range(textline):#nwritebyte=ntotalbyte#已经写了的字节数ntotalbyte=ntotalbyte+len(ss[j])rowbyte=0#已经写了的新行的字节数,用来记一行已经输出的字节个数while nwritebyte<ntotalbyte:#当已写字节<总字节数if(nwritebyte is ntotalbyte-1):specialByte.append(nwritebyte)print(f'\033[0;31;47m{nwritebyte+1:2d}:',repr(ss[j][rowbyte]),'\033[0m')#\033[0m是字体和背景颜色设置,注意可能需要其他库的支持else:print(f'{nwritebyte+1:2d}:',repr(ss[j][rowbyte])) nwritebyte=nwritebyte+1 rowbyte=rowbyte+1print(f'\033[0;31;40m行数={textline:2d},字数={ntotalbyte:2d}\033[0m')if i in specialByte:print(f'\033[0;31;47mf.readlines{i:<2d}={ss}\033[0m') #<是左对齐else:print(f'f.readlines{i:<2d}={ss}') #<是左对齐
效果
参考文章:https://blog.csdn.net/weixin_44478378/article/details/104967241
详解python中readlines函数的参数hint相关推荐
- python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...
文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...
- python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发
strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...
- python中groupby()函数讲解与示例_详解python中groupby函数通俗易懂
一.groupby 能做什么? python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算! 对于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下: df[ ...
- python函数的使用场景_详解python中strip函数的使用场景
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.l ...
- 技术图文:举例详解Python中 split() 函数的使用方法
背景 这篇文章主要介绍Python中的split()函数的使用方法,split()函数通常用于将字符串切片并转换为列表,需要的朋友可以参考一下. 技术分析 Python中有split()和os.pat ...
- python中init函数详解_Python 中__init__函数以及参数self
Java网站链接:Java全栈工程师 | 以实例驱动学习 | how2j.cn 1)class类包含: 类的属性:类中所涉及的变量 类的方法:类中函数 2) __init函数(方法) 1.带有两个下划 ...
- 详解Python中get函数的用法(附代码)
描述: Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法: get()方法语法: dict.get(key, default=None) 参数: key – 字典 ...
- python中的get函数什么意思_详解python中get函数的用法(附代码)
描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法:dict.get(key, default=None) 参数 key – 字典中要查找 ...
- python get函数用法_详解python中get函数的用法(附代码)
描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法:dict.get(key, default=None) 参数 key – 字典中要查找 ...
最新文章
- 实战:在Windows Server2008上配置NLB
- QCOW2 — qemu-img 指令行工具
- chart绑定mysql数据源_MSChart图表之Chart组件 学习一篇(5个主要属性+数据源绑定)...
- Check Dependency 2(一个检查.net部署文件完整性及一致性工具)
- centos 6.5 安装mysql 5.6.35–libc.so.6(GLIBC_2.14)(64bit),libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
- 动态存储和静态存储区域区别
- 为了生产iPhone 12,富士康连国庆节也没假放了
- 梅西精彩过人绝技,太帅了!
- 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--K-密码
- 微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性...
- 一个简单的搜索应用程序(http://www.ibm.com/developerworks/cn/java/j-lo-lucene1/)
- 利用函数指针实现累加
- cad图形如何导入到奥维地图_CAD图导入奥维简易操作步骤--陈浩
- PMP-2.项目集、项目组合、项目运营和生命周期
- python: 集合操作符和关系符号
- MQTT网关是什么?
- vscode中的maven_在VSCode中使用Maven进行JUnit测试
- 计算机桌面出现临时文件,如何删除电脑中的临时文件 电脑屏幕一键放大方法分享...
- MPB:西湖大学鞠峰组-​​微生物群落定量宏基因组和宏转录组
- C#注册和注销全局快捷键
热门文章
- java捕鱼达人_java捕鱼达人游戏(源码)
- 开启createjs+animate cc之旅
- 区块链技术在证券领域的应用
- html5怎么引入苹方简,Kindle 推荐使用“苹方-简”自定义字体,阅读体验最舒服...
- 什么是概念模型?概念模型的作用是什么?
- 关于PR安装在D盘初始化时闪退,加载到optical的时候PR直接闪退
- 关于pycharm的常见问题
- 笔记--javascript对象及简单,复杂数据类型
- 可穿戴的“舌头鼠标”,催生“黏腻”人机交互的新想象?
- 线程通信,生产者消费者问题案例,模拟来电提醒和接听电话