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']

总结:

  1. hint 是要输出显示的字节数
  2. hint 默认等于-1,就是以列表的形式读出所有内容
  3. hint = 0时,效果等同于-1
  4. 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相关推荐

  1. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...

    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...

  2. python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发

    strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...

  3. python中groupby()函数讲解与示例_详解python中groupby函数通俗易懂

    一.groupby 能做什么? python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算! 对于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下: df[ ...

  4. python函数的使用场景_详解python中strip函数的使用场景

    python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.l ...

  5. 技术图文:举例详解Python中 split() 函数的使用方法

    背景 这篇文章主要介绍Python中的split()函数的使用方法,split()函数通常用于将字符串切片并转换为列表,需要的朋友可以参考一下. 技术分析 Python中有split()和os.pat ...

  6. python中init函数详解_Python 中__init__函数以及参数self

    Java网站链接:Java全栈工程师 | 以实例驱动学习 | how2j.cn 1)class类包含: 类的属性:类中所涉及的变量 类的方法:类中函数 2) __init函数(方法) 1.带有两个下划 ...

  7. 详解Python中get函数的用法(附代码)

    描述: Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法: get()方法语法: dict.get(key, default=None) 参数: key – 字典 ...

  8. python中的get函数什么意思_详解python中get函数的用法(附代码)

    描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法:dict.get(key, default=None) 参数 key – 字典中要查找 ...

  9. python get函数用法_详解python中get函数的用法(附代码)

    描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法:dict.get(key, default=None) 参数 key – 字典中要查找 ...

最新文章

  1. 实战:在Windows Server2008上配置NLB
  2. QCOW2 — qemu-img 指令行工具
  3. chart绑定mysql数据源_MSChart图表之Chart组件 学习一篇(5个主要属性+数据源绑定)...
  4. Check Dependency 2(一个检查.net部署文件完整性及一致性工具)
  5. centos 6.5 安装mysql 5.6.35–libc.so.6(GLIBC_2.14)(64bit),libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
  6. 动态存储和静态存储区域区别
  7. 为了生产iPhone 12,富士康连国庆节也没假放了
  8. 梅西精彩过人绝技,太帅了!
  9. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--K-密码
  10. 微软BI 之SSIS 系列 - 通过设置 CheckPoints 检查点来增强 SSIS Package 流程的重用性...
  11. 一个简单的搜索应用程序(http://www.ibm.com/developerworks/cn/java/j-lo-lucene1/)
  12. 利用函数指针实现累加
  13. cad图形如何导入到奥维地图_CAD图导入奥维简易操作步骤--陈浩
  14. PMP-2.项目集、项目组合、项目运营和生命周期
  15. python: 集合操作符和关系符号
  16. MQTT网关是什么?
  17. vscode中的maven_在VSCode中使用Maven进行JUnit测试
  18. 计算机桌面出现临时文件,如何删除电脑中的临时文件 电脑屏幕一键放大方法分享...
  19. MPB:西湖大学鞠峰组-​​微生物群落定量宏基因组和宏转录组
  20. C#注册和注销全局快捷键

热门文章

  1. java捕鱼达人_java捕鱼达人游戏(源码)
  2. 开启createjs+animate cc之旅
  3. 区块链技术在证券领域的应用
  4. html5怎么引入苹方简,Kindle 推荐使用“苹方-简”自定义字体,阅读体验最舒服...
  5. 什么是概念模型?概念模型的作用是什么?
  6. 关于PR安装在D盘初始化时闪退,加载到optical的时候PR直接闪退
  7. 关于pycharm的常见问题
  8. 笔记--javascript对象及简单,复杂数据类型
  9. 可穿戴的“舌头鼠标”,催生“黏腻”人机交互的新想象?
  10. 线程通信,生产者消费者问题案例,模拟来电提醒和接听电话