Python中read(),readline()以及readlines()的区别及用法

Python中read(),readline以及readlines()的用法和区别

1.read()
read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象。
如我们有.text文件,内容为
hello,
jack and
lucy,how are
you
执行如下代码:

file=open('F:/test.txt')
fr=file.read()
print(fr)

其输出为:

hello,
jack and
lucy,how are 
you

再次执行如下代码:

file=open('F:/test.txt')
fr=file.read(10)
print(fr)

会输出前十个字符(包括换行符):

hello,
jac

2.readline()
该方法每次读出一行内容,所以,读取时占用内存小,比较适合大文件,该方法返回一个字符串对象。
如:

file=open('F:/test.txt')
fr=file.readline()
print(fr)

我们会看到如下输出:

hello,

如果再次调用.readline()方法:

file=open('F:/test.txt')
fr=file.readline()
print(fr)
fr=file.readline()
print(fr)

就会有如下输出:

hello,

jack and

即调用一次readline()就会读取一行,而不像read()全部读取,这里的空行因为行末的换行符也会被读取。
如果想用readline()输出全部内容采用while语句:

file=open('F:/test.txt')
fr=file.readline()
while fr:
    print(fr)
    fr=file.readline()

3.readlines()
读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存。如:

file=open('F:/test.txt')
fr=file.readlines()
print(fr)

输出为:

['hello,\n', 'jack and\n', 'lucy,how are \n', 'you']

若想输出原本内容可以使用for循环语句,如:

file=open('F:/test.txt')
for line in file.readlines():
    print(line)

输出为:

hello,

jack and

lucy,how are 

you

你可能感兴趣的:(Python中read(),readline()以及readlines()的区别及用法)