当前位置:硬件测评 > Python中readlines函数的参数详细解释hint

Python中readlines函数的参数详细解释hint

  • 发布:2023-10-02 21:57

readlines的帮助信息

>>> fr=open('readme.txt')
>>> 帮助(fr.readlines)
关于内置函数 readlines 的帮助:_io.TextIOWrapper 实例的 readlines(hint=-1, /) 方法返回流中的行列表。可以指定hint来控制读取的行数:如果到目前为止所有行的总大小(以字节/字符为单位)超过提示。

谷歌翻译

_io.TextIOWrapper 实例的 readlines(hint=-1, /) 方法

返回流中的行列表。


您可以指定提示来控制读取的行数:如果到目前为止所有行的总大小(以字节/字符为单位)超过提示,则不会再读取任何行。

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#range(textline)中j已写入的字节数:#nwritebyte=ntotalbyte#已写入的字节数 ntotalbyte=ntotalbyte+len(ss[j]) rowbyte=0#已经新行写入的字节数,用于记录一行输出的字节数 while nwritebyte

输出

>>> 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 #文件的个数range(textline)中j已写入的字节数:#nwritebyte=ntotalbyte#已写入的字节数 ntotalbyte=ntotalbyte+len(ss[j])rowbyte=0#新行的字节数已写入,用于记住一行已输出的字节数 while nwritebyte

效果

参考文章:https://www.sychzs.cn/weixin_44478378/article/details/104967241

相关文章