python读取文件的readlines设置参数无效

时间:2021-05-16 19:32:06
一个文本文件里一共四行文字
中国
python
java
c++
如果用readlines()可以正常读入
但如果给readlines设置参数为1和2,只能读取第一行的数据,只有设置为3才能读取2行
请问,这是什么错误?谢谢

4 个解决方案

#1


 readlines(hint=-1)

    Read and return a list of lines from the stream. hint can be specified to control the number of lines read: no more lines will be read if the total size (in  bytes/characters) of all lines so far exceeds hint.

0
['中国\n', 'python\n', 'java\n', 'c++\n']
1
['中国\n']
2
['中国\n']
3
['中国\n', 'python\n']
4
['中国\n', 'python\n']
5
['中国\n', 'python\n']
6
['中国\n', 'python\n']
7
['中国\n', 'python\n']
8
['中国\n', 'python\n']
9
['中国\n', 'python\n']
10
['中国\n', 'python\n', 'java\n']
11
['中国\n', 'python\n', 'java\n']
12
['中国\n', 'python\n', 'java\n']
13
['中国\n', 'python\n', 'java\n']
14
['中国\n', 'python\n', 'java\n']
15
['中国\n', 'python\n', 'java\n', 'c++\n']

#2


不好意思,还没没搞懂,为什么1,2可以读取第一行,3-9才可以读取前两行,全部四行需要将参数设置为15呢?

#3


每一行后面有一个换行符,双数行都是空行,你自己for循环出来看一下就知道了,下面是实际打印出来的效果
1:中国
2:
3:python
4:
5:java
6:
7:c++
8:

#4


引用 2 楼 lee110 的回复:
不好意思,还没没搞懂,为什么1,2可以读取第一行,3-9才可以读取前两行,全部四行需要将参数设置为15呢?
字节数。读到你设定的字节数就不再往下读行了

#1


 readlines(hint=-1)

    Read and return a list of lines from the stream. hint can be specified to control the number of lines read: no more lines will be read if the total size (in  bytes/characters) of all lines so far exceeds hint.

0
['中国\n', 'python\n', 'java\n', 'c++\n']
1
['中国\n']
2
['中国\n']
3
['中国\n', 'python\n']
4
['中国\n', 'python\n']
5
['中国\n', 'python\n']
6
['中国\n', 'python\n']
7
['中国\n', 'python\n']
8
['中国\n', 'python\n']
9
['中国\n', 'python\n']
10
['中国\n', 'python\n', 'java\n']
11
['中国\n', 'python\n', 'java\n']
12
['中国\n', 'python\n', 'java\n']
13
['中国\n', 'python\n', 'java\n']
14
['中国\n', 'python\n', 'java\n']
15
['中国\n', 'python\n', 'java\n', 'c++\n']

#2


不好意思,还没没搞懂,为什么1,2可以读取第一行,3-9才可以读取前两行,全部四行需要将参数设置为15呢?

#3


每一行后面有一个换行符,双数行都是空行,你自己for循环出来看一下就知道了,下面是实际打印出来的效果
1:中国
2:
3:python
4:
5:java
6:
7:c++
8:

#4


引用 2 楼 lee110 的回复:
不好意思,还没没搞懂,为什么1,2可以读取第一行,3-9才可以读取前两行,全部四行需要将参数设置为15呢?
字节数。读到你设定的字节数就不再往下读行了